了解应用如何与 Blob 存储数据资源交互
在生成应用程序以使用 Azure Blob 存储中的数据资源时,代码主要与三种资源类型进行交互:存储帐户、容器和 Blob。 本文将介绍这些资源类型,并说明它们彼此之间的关系。 还演示了应用程序代码如何使用 Azure Blob 存储客户端库与这些资源进行交互。
Blob 存储资源类型
Azure Blob 存储客户端库允许与存储服务中三种类型的资源进行交互:
以下图示显示了这些资源之间的关系:
存储帐户
存储帐户在 Azure 中为数据提供唯一的命名空间。 存储在 Azure 存储中的每个对象都有一个地址,其中包含唯一的帐户名称。 帐户名称与 Blob 存储终结点的组合构成了存储帐户中对象的基址。
例如,如果存储帐户名为 sampleaccount,则 Blob 存储的默认终结点为:
https://sampleaccount.blob.core.chinacloudapi.cn
若要详细了解存储帐户的类型,请参阅 Azure 存储帐户概述。
容器
容器对一组 blob 进行组织,类似于文件系统中的目录。 一个存储帐户可以包含无限数量的容器,一个容器可以存储无限数量的 Blob。
容器的 URI 类似于:
https://sampleaccount.blob.core.chinacloudapi.cn/sample-container
有关命名容器的详细信息,请参阅命名和引用容器、Blob 和元数据。
Blob
Azure 存储支持三种类型的 Blob:
- 块 Blob 存储文本和二进制数据。 块 Blob 由可以分别管理的数据块构成。 块 blob 最多可存储约 190.7 TiB。
- 与块 Blob 一样,追加 Blob 也由块构成,但针对追加操作进行了优化。 追加 Blob 非常适用于诸如记录来自虚拟机的数据之类的场景。
- 页 Blob 用于存储最大 8 TiB 的随机访问文件。 有关页 Blob 的更多信息,请参阅 Azure 页 Blob 概述
有关不同类型 Blob 的详细信息,请参阅 Understanding Block Blobs, Append Blobs, and Page Blobs(了解块 Blob、追加 Blob 和页 Blob)。
blob 的 URI 类似于:
https://sampleaccount.blob.core.chinacloudapi.cn/sample-container/sample-blob
有关命名 blob 的详细信息,请参阅命名及引用容器、blob 和元数据。
使用 Azure SDK 处理数据资源
Azure SDK 包含基于 Azure REST API 生成的库,允许你通过熟悉的编程语言范式与 REST API 操作进行交互。 SDK 旨在简化应用程序与 Azure 资源之间的交互。
在 Azure Blob 存储客户端库中,每个资源类型由一个或多个关联的类表示。 这些类提供用于处理 Azure 存储资源的操作。
下表列出了带有简要说明的基本类:
类 | 说明 |
---|---|
BlobServiceClient | 表示存储帐户,并提供用于检索和配置帐户属性以及处理存储帐户中的 Blob 容器的操作。 |
BlobContainerClient | 表示特定的 Blob 容器,并提供用于处理容器和其中的 blob 的操作。 |
BlobClient | 表示特定的 Blob,并提供用于处理 Blob 的常规操作,包括上传、下载、删除和创建快照的操作。 |
AppendBlobClient | 表示追加 blob,并提供特定于追加 blob 的操作,例如追加日志数据。 |
BlockBlobClient | 表示块 Blob,并提供特定于块 blob 的操作,例如暂存和随后提交数据块。 |
以下包中包含了用于处理 Blob 存储数据资源的类:
- Azure.Storage.Blobs:包含可用于对服务、容器和 Blob 执行操作的主要类(客户端对象)。
- Azure.Storage.Blobs.Specialized:包含可用于执行特定于 Blob 类型(例如追加 Blob)的操作的类。
- Azure.Storage.Blobs.Models:所有其他实用工具类、结构和枚举类型。
后续步骤
使用 SDK 处理 Azure 资源从创建客户端实例开始。 要详细了解如何创建和管理客户端对象,请参阅创建和管理与数据资源交互的客户端对象。