gpt4 book ai didi

python - 在 adls 中上传大文件时出现超时错误

转载 作者:行者123 更新时间:2023-12-03 06:25:13 24 4
gpt4 key购买 nike

我需要使用 python 将 200 mb 文件上传到 adls

我正在使用官方文档中提供的代码 - https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-directory-file-acl-python?tabs=azure-ad

调用以下函数进行上传时 -

def upload_file_to_directory_bulk():
try:

file_system_client = service_client.get_file_system_client(file_system="system")

directory_client = file_system_client.get_directory_client("my-directory")

file_client = directory_client.get_file_client("uploaded-file.txt")

local_file = open("C:\\file-to-upload.txt",'r')

file_contents = local_file.read()

file_client.upload_data(file_contents, overwrite=True)

except Exception as e:
print(e)

它适用于小文件

当我尝试上传 200 mb 等较大文件时,出现错误 - ('连接中止。', timeout('写入操作超时'))

如何解决这个问题?

最佳答案

这肯定和上传速度有关。尝试将超时增加到 60 秒。此外,如果您将文件拆分为 block ,将为每个 block 创建单独的连接(具有单独的超时)。

file_client.upload_data(file_contents, overwrite=True, timeout=60)

block 大小:

file_client.upload_data(file_contents, overwrite=True, timeout=30, chunk_size=25)

关于python - 在 adls 中上传大文件时出现超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75597324/

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