本文介绍如何使用
适用于 Python 的 Azure 存储客户端库
来上传 blob。 你可以上传 blob,打开 blob 流并写入流,或者上传带有索引标记的 blob。
Azure 存储中的 Blob 已组织成容器。 必须先创建容器,才能上传 Blob。 若要了解如何创建容器,请参阅
使用 Python 在 Azure 存储中创建容器
。
若要通过流式传输或二进制对象上传 Blob,请使用以下方法:
BlobClient.upload_blob
若要从给定 URL 上传 blob,请使用以下方法:
BlobClient.upload_blob_from_url
将数据上传到块 Blob
以下示例使用
BlobClient
对象将数据上传到块 blob:
def upload_blob_data(self, blob_service_client: BlobServiceClient, container_name):
blob_client = blob_service_client.get_blob_client(container=container_name, blob="sample-blob.txt")
data = b"Sample data for blob"
# Upload the blob data - default blob type is BlockBlob
blob_client.upload_blob(data, blob_type="BlockBlob")
通过流式传输上传块 Blob
以下示例创建随机的数据字节,并使用
BlobClient
对象将
BytesIO
对象上传到块 blob:
def upload_blob_stream(self, blob_service_client: BlobServiceClient, container_name):
blob_client = blob_service_client.get_blob_client(container=container_name, blob="sample-blob.txt")
input_stream = io.BytesIO(os.urandom(15))
blob_client.upload_blob(input_stream, blob_type="BlockBlob")
通过本地文件路径上传块 Blob
以下示例使用
BlobClient
对象将文件上传到块 blob:
def upload_blob_file(self, blob_service_client: BlobServiceClient, container_name):
container_client = blob_service_client.get_container_client(container=container_name)
with open(file=os.path.join('filepath', 'filename'), mode="rb") as data:
blob_client = container_client.upload_blob(name="sample-blob.txt", data=data, overwrite=True)
以下示例上传设置了索引标记的块 blob:
def upload_blob_tags(self, blob_service_client: BlobServiceClient, container_name):
container_client = blob_service_client.get_container_client(container=container_name)
sample_tags = {"Content": "image", "Date": "2022-01-01"}
with open(file=os.path.join('filepath', 'filename'), mode="rb") as data:
blob_client = container_client.upload_blob(name="sample-blob.txt", data=data, tags=sample_tags)
若要详细了解如何使用适用于 Python 的 Azure Blob 存储客户端库来上传 blob,请参阅以下资源。
REST API 操作
Azure SDK for Python 包含基于 Azure REST API 而生成的库,允许你通过熟悉的 Python 范例与 REST API 操作进行交互。 用于上传 blob 的客户端库方法使用以下 REST API 操作:
放置 Blob
(REST API)
从 URL 放置 Blob
(REST API)
查看本文中的代码示例 (GitHub)
客户端库资源
客户端库参考文档
客户端库源代码
包 (PyPi)
通过 Blob 索引标记管理和查找 Azure Blob 数据
使用 Blob 索引标记管理和查找 Azure Blob 存储上的数据