【发布时间】:2021-08-25 12:27:17
【问题描述】:
我正在尝试使用以下代码将所有 blob 从一个存储帐户复制到同一资源组中的另一个存储帐户:
src_storage_client = BlobServiceClient.from_connection_string(src_storage['connectionString'])
src_container = src_storage_client.get_container_client(src_storage['containerName'])
dst_storage_client = BlobServiceClient.from_connection_string(dst_storage['connectionString'])
dst_container = dst_storage_client.get_container_client(dst_storage['containerName'])
try:
for blob in src_container.list_blobs():
src_blob = BlobClient.from_connection_string(src_storage['connectionString'], src_storage['containerName'], blob.name)
new_blob = BlobClient.from_connection_string(dst_storage['connectionString'], dst_storage['containerName'], blob.name)
new_blob.start_copy_from_url(src_blob.url)
我收到以下错误:
azure.core.exceptions.ClientAuthenticationError:操作返回一个 invalid status '服务器未能验证请求。请 请参阅 www-authenticate 标头中的信息。'
我试过 generate_blob_sas 和 generate_account_sas 没用! 我查看了其他示例、文档和存储库,但没有一个符合我的情况,除非我遗漏了什么。
使用相同的 new_blob 实例和上传方法,它可以完美运行。但是,我想复制而不是下载然后上传。
【问题讨论】:
标签: python azure blob azure-blob-storage