AzureBlob上传错误:指定的Blob已存在

问题描述 投票:0回答:1

我每天尝试将文件上传到Azure容器。

我上载具有相同文件的文件时出现错误:“指定的blob已存在”(我想覆盖该文件)

from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

conn_str = yml['AZURE_BLOB']['CONN_STR']
container_name = yml['AZURE_BLOB']['CONTAINER_NAME']

# Create the BlobServiceClient that is used to call the Blob service for the storage account
blob_service_client = BlobServiceClient.from_connection_string(conn_str=conn_str)

# Create a blob client using the local file name as the name for the blob
blob_client = blob_service_client.get_blob_client(container=container_name, blob=destination_file_name)

# Upload the created file
data = fs.open(source_path,mode='rb').read()
blob_client.upload_blob(data)

print(destination_file_name+'\t......[DONE]')

错误消息:

azure.core.exceptions.ResourceExistsError: The specified blob already exists.
RequestId:13d062cd-801e-00a4-77c7-a81c56000000
Time:2019-12-02T04:18:06.0826908Z
ErrorCode:BlobAlreadyExists
Error:None
python azure-storage azure-storage-blobs
1个回答
0
投票

查看有关a known issue的博客文章。

这是开发存储的已知问题。当启动了多个线程以上传块(构成Blob)时,就会发生这种情况。基本上发生的事情是,开发存储将SQL Server用作数据存储。现在,它要做的第一件事是在存储斑点信息的表中创建一个条目。如果有多个线程在工作,那么所有这些线程都将尝试执行相同的操作。在第一个线程成功执行之后,后续线程将导致引发此异常。

© www.soinside.com 2019 - 2024. All rights reserved.