相关文章推荐

本文介绍如何使用 适用于 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

    以下示例上传设置了索引标记的块 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 存储上的数据
  •  
    推荐文章