从一个容器复制到另一个容器时,保留Blob的内容类型

时间:2019-06-06 08:29:47

标签: python azure

我正在尝试从一个容器中复制blob:

blob_url = blob_service.make_blob_url(source_container, source_blob, sas_token)
blob_service.copy_blob(target_container, target_blob, blob_url)

这正在发生,但是source_blob的内容类型是application / pdf,而target_container的内容类型被设置为:application/vnd.openxmlformats-officedocument.wordprocessingml.document

在Blob存储UI中,我可以单击该Blob的属性并更改内容类型,但是,如何在Azure Python SDK中做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用set_blob_properties方法:

from azure.storage.blob import BlockBlobService, ContentSettings

accountName="xxx"
accountKey="xxxx"

services = BlockBlobService(account_name=accountName,account_key=accountKey)

#set the content_type to whatever you need
settings = ContentSettings(content_type='application/pdf')

services.set_blob_properties(container_name,blob_name,content_settings=settings)

顺便说一句,我使用python sdk azure-storage-blob==1.4.0,并且当使用copy_blob方法时,内容类型也被复制为“ application / pdf”