gpt4 book ai didi

python - 检查 SharePoint 中的文件是否已完成上传

转载 作者:行者123 更新时间:2023-12-03 02:39:44 25 4
gpt4 key购买 nike

我正在构建一个管道,SharePoint 将作为数据摄取的来源。我想使用带有触发器的 Azure LogicApps,以便在创建或修改文件时运行。将文件上传到 SharePoint 时,LogicApps 应将文件复制到 Blob 存储。我面临一个问题,即使文件尚未 100% 上传,触发器也可能发生,这会导致复制空文件或不完整的文件。

我尝试了多个 SharePoint 触发器,看看这是否只是其中一个触发器的问题,但它们都有相同的问题。

我决定使用 Python 和 Azure Functions 中部署的 Office365-REST-Python-Client 来处理将文件复制到 Azure Blob 存储的过程。我有以下代码:

def download_file(context, sharepoint_file_path, local_file_path):
response = File.open_binary(context, sharepoint_file_path)

response.raise_for_status()

with open(local_file_path, 'wb') as f:
f.write(response.content)

我检查了响应的 status_code,即使对于不完整的文件,它也会返回 200,这仍然无助于检查文件是否完整。

我该如何解决这个问题?谢谢。

最佳答案

在我看来,我们很难检查sharepoint中的文件是否已经上传完成。但我们可以通过一些解决方法来避免文件尚未上传完成的情况。

您需要根据文件的大小估计上传过程需要多长时间,然后在触发器后添加“Delay ”操作。 enter image description here

例如,上面截图中延迟了 5 分钟。 5分钟后,文件完成上传操作,并成功复制到blob存储。

关于python - 检查 SharePoint 中的文件是否已完成上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61728564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com