Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AzureBlob上载错误:指定的blob已存在_Python_Azure_Azure Storage_Azure Storage Blobs - Fatal编程技术网

Python AzureBlob上载错误:指定的blob已存在

Python AzureBlob上载错误:指定的blob已存在,python,azure,azure-storage,azure-storage-blobs,Python,Azure,Azure Storage,Azure Storage Blobs,我正在尝试每天将文件上载到Azure容器 我在上载具有相同文件的文件时出错:“指定的blob已存在”(我要覆盖该文件) 错误消息: azure.core.exceptions.ResourceExistsError: The specified blob already exists. RequestId:13d062cd-801e-00a4-77c7-a81c56000000 Time:2019-12-02T04:18:06.0826908Z ErrorCode:BlobAlreadyExis

我正在尝试每天将文件上载到Azure容器

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

错误消息:

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

查看这篇关于的博客文章

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


如果要使用覆盖现有blob,只需在
upload\u blob
方法中添加overwrite=True

以下是示例代码:

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

conn_str = "xxx"
container_name = "test6"

blob_service_client = BlobServiceClient.from_connection_string(conn_str=conn_str)
blob_client = blob_service_client.get_blob_client(container=container_name,blob="a1.txt")

with open("F:\\temp\\a1.txt","rb") as data:
    blob_client.upload_blob(data,overwrite=True)

print("**completed**")
执行代码后,将上载新blob并覆盖现有blob。截图如下:


您检查过文件是否已在blob存储中吗?我检查过,文件是否存在。但是我想覆盖。请看下面我的答案,如果有任何反馈,请告诉我:)。您是否收到这样的消息“Tuple timeout setting is deprecated”@EEEEH,我没有看到此消息。对于哪一行,“blob\u client.upload\u blob(data,overwrite=True)”消息在上传文件成功后显示。这只是一个警告信息吗?不管我的问题为什么解决了!tks
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

conn_str = "xxx"
container_name = "test6"

blob_service_client = BlobServiceClient.from_connection_string(conn_str=conn_str)
blob_client = blob_service_client.get_blob_client(container=container_name,blob="a1.txt")

with open("F:\\temp\\a1.txt","rb") as data:
    blob_client.upload_blob(data,overwrite=True)

print("**completed**")