尝试使用python下载Azure Blob时出现ConditionNotMet错误

zbwhf8kr  于 2023-01-18  发布在  Python
关注(0)|答案(1)|浏览(130)

我尝试使用azure.storage.blob BlobServiceClient从python下载azure blob。容器内有各种大小较大的blob,当代码尝试下载大约100 MB或更高的文件时,会发生错误。
这段代码对小的blob运行良好,只有较大的blob抛出错误:错误消息:-x1c 0d1x
尝试下载超过700 mb的blob enter image description here时出错
我也试过download_to_stream,readinto和MS文档中的其他方法,但所有东西都返回相同的错误。
我的密码:

with open(path, "wb") as file:
    data = blobclient.download_blob()
    for stream in data.chunks():
        file.write(stream)
jhdbpxl9

jhdbpxl91#

尝试下载大约100mb或更高的文件
我已经在我的环境中重现。并通过使用下面的代码得到预期的结果:

    • 存储帐户中的Blob:**

from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient    
blob_service_client = BlobServiceClient.from_connection_string('DefaultEndpointsProtocol=https;AccountNam8zxS3g==;EndpointSuffix=core.windows.net')   
container_name = 'pool'   
container_client = blob_service_client.get_container_client(container_name)   
print(container_client.download_blob("100MB (1).bin").readall())

我已经在我的环境中下载了100MB的文件。这里我使用print(container_client.download_blob("100MB (1).bin").readall())来显示文件内容。

相关问题