Azure 存储帐户概述

Azure 存储帐户包含所有 Azure 存储数据对象:Blob、文件、队列、表和磁盘。 Azure 存储帐户中的数据持久保存、高度可用、安全、可大规模缩放,并且可以在任意位置通过 HTTP 或 HTTPS 来访问。

若要了解如何创建 Azure 存储帐户,请参阅创建存储帐户

存储帐户的类型

Azure 存储提供三种类型的存储帐户。 每个类型支持不同的功能,并具有自身的定价模型。 在创建存储帐户之前,请考虑到这些差异,以确定最适合应用程序的帐户类型。 存储帐户的类型包括:

下表描述了存储帐户的类型及其功能:

存储帐户类型 支持的服务 支持的性能层 支持的访问层 复制选项 部署模型1 加密2
常规用途 V2 Blob、文件、队列、表和磁盘 标准、高级 热、冷 LRS、GRS、RA-GRS Resource Manager 加密
常规用途 V1 Blob、文件、队列、表和磁盘 标准、高级 不适用 LRS、GRS、RA-GRS 资源管理器、经典 加密
Blob 存储 Blob(仅限块 Blob 和追加 Blob) 标准 热、冷 LRS、GRS、RA-GRS Resource Manager 加密

1建议使用 Azure 资源管理器部署模型。 仍将在某些位置创建使用经典部署模型的存储帐户,继续支持现有的经典帐户。 有关详细信息,请参阅 Azure 资源管理器与经典部署:了解部署模型和资源状态

2使用针对静态数据的存储服务加密 (SSE) 来加密所有存储帐户。 有关详细信息,请参阅静态数据的 Azure 存储服务加密

常规用途 v2 帐户

常规用途 v2 存储帐户支持最新的 Azure 存储功能,并整合了常规用途 v1 和 Blob 存储帐户的所有功能。 常规用途 v2 帐户为 Azure 存储提供最低的每 GB 容量价格,以及具有行业竞争力的事务处理价格。 常规用途 v2 存储帐户支持以下 Azure 存储服务:

  • Blob(所有类型:块、追加、页)
  • 文件
  • 磁盘
  • 队列

Note

大多数情况下,建议使用常规用途 v2 存储帐户。 可以轻松将常规用途 v1 或 Blob 存储帐户升级到常规用途 v2 帐户,无需停机且无需复制数据。

有关升级到常规用途 v2 帐户的详细信息,请参阅升级到常规用途 v2 存储帐户

常规用途 v2 存储帐户提供多个访问层用于根据使用模式存储数据。 有关详细信息,请参阅块 Blob 数据的访问层

常规用途 v1 帐户

常规用途 v1 帐户可以访问所有 Azure 存储服务,但可能没有最新功能,其每 GB 定价也可能不是最低的。 常规用途 v1 存储帐户支持以下 Azure 存储服务:

  • Blob(所有类型)
  • 文件
  • 磁盘
  • 队列

尽管建议在大多数情况下使用常规用途 v2 帐户,但对于以下方案,最适合使用常规用途 v1 帐户:

  • 应用程序需要 Azure 经典部署模型。 常规用途 v2 帐户和 Blob 存储帐户仅支持 Azure 资源管理器部署模型。

  • 应用程序是事务密集型的或要占用大量的异地复制带宽,但不需要很大的容量。 在这种情况下,常规用途 v1 可能是最经济节省的选择。

  • 使用了早于 2014-02-14 的 存储服务 REST API 的版本或使用了版本低于 4.x 的客户端库,并且无法升级应用程序。

Blob 存储帐户

Blob 存储帐户是将非结构化对象数据作为块 Blob 存储的专用存储帐户。 Blob 存储帐户提供与常规用途 v2 存储帐户相同的持久性、可用性、可伸缩性和性能功能。 Blob 存储帐户支持存储块 Blob 和追加 Blob,但不支持存储页 Blob。

Blob 存储帐户提供多个访问层用于根据使用模式存储数据。 有关详细信息,请参阅块 Blob 数据的访问层

为存储帐户命名

为存储帐户命名时,请记住以下规则:

  • 存储帐户名称必须为 3 到 24 个字符,并且只能包含数字和小写字母。
  • 存储帐户名称在 Azure 中必须是唯一的。 没有两个存储帐户可以有相同的名称。

性能层

可为以下任一性能层配置常规用途存储帐户:

块 Blob 数据的访问层

Azure 存储提供不同的选项用于根据使用模式访问块 Blob 数据。 Azure 存储中的每个访问层已针对特定的数据使用模式进行优化。 根据需要选择适当的访问权限层,能以最经济高效的方式存储块 Blob 数据。

可用的访问层包括:

  • 访问层,已针对存储帐户中频繁访问的对象进行优化。 访问热层中的数据是最经济高效的,不过,存储开销要高一些。 默认情况下,新存储帐户在热层中创建。
  • 访问层,已针对存储不常访问且存储时间至少为 30 天的大量数据进行优化。 将数据存储在冷层中是较为经济高效的做法,但访问这些数据的开销可能比访问热层中的数据更高一些。

如果数据的使用模式有所更改,则可以随时在这些访问层之间切换。 有关访问层的详细信息,请参阅 Azure Blob 存储:热存储层和冷存储层

Important

更改现有存储帐户或 Blob 的访问层可能会产生额外的费用。 有关详细信息,请参阅“存储帐户计费”部分

复制

存储帐户的复制选项包括:

有关存储复制的详细信息,请参阅 Azure 存储复制

加密

存储帐户中的所有数据在服务端加密。 有关加密的详细信息,请参阅静态数据的 Azure 存储服务加密

存储帐户终结点

存储帐户在 Azure 中为数据提供唯一的命名空间。 在 Azure 存储中存储的每个对象都具有一个包含唯一帐户名称的地址。 帐户名称与 Azure 存储服务终结点的组合构成了存储帐户的终结点。

例如,如果常规用途存储帐户名为 mystorageaccount,则该帐户的默认终结点为:

  • Blob 存储: http://mystorageaccount.blob.core.chinacloudapi.cn
  • 表存储: http://mystorageaccount.table.core.chinacloudapi.cn
  • 队列存储: http://mystorageaccount.queue.core.chinacloudapi.cn
  • Azure 文件: http://mystorageaccount.file.core.chinacloudapi.cn

Note

Blob 存储帐户仅公开 Blob 服务终结点。

用于访问存储帐户中某个对象的 URL 是通过将存储帐户中对象的位置附加到终结点而构造的。 例如,Blob 地址可能具有以下格式: http://mystorageaccount.blob.core.chinacloudapi.cn/mycontainer/myblob

还可将存储帐户配置为对 Blob 使用自定义域。 有关详细信息,请参阅为 Azure 存储帐户配置自定义域名

控制对帐户数据的访问

默认情况下,只有你,即帐户所有者,才能使用帐户中的数据。 可以控制谁能访问你的数据,以及他们拥有哪些权限。

针对存储帐户发出的每个请求必须经过授权。 在服务级别,该请求必须包含有效的 Authorization 标头,该标头包含服务在执行请求之前验证该请求所需的全部信息。

可使用以下任一方法授予对存储帐户中数据的访问权限:

  • 共享密钥授权: 使用存储帐户访问密钥构造一个连接字符串,应用程序在运行时将使用该连接字符串来访问 Azure 存储。 连接字符串中的值用于构造要传递给 Azure 存储的 Authorization 标头。 有关详细信息,请参阅配置 Azure 存储连接字符串
  • 共享访问签名: 使用共享访问签名对存储帐户中的资源进行委托访问。 共享访问签名是一个令牌,用于在 URL 中封装对 Azure 存储访问请求进行授权时所需的全部信息。 可以在共享访问签名中指定存储资源、授予的权限,以及权限的有效时间间隔。 有关详细信息,请参阅使用共享访问签名 (SAS)

将数据复制到存储帐户

我们提供的实用程序和库适用于从本地存储设备或第三方云存储提供商处导入数据。 使用哪种解决方案取决于要传输的数据量。

从常规用途 v1 存储帐户或 Blob 存储帐户升级到常规用途 v2 帐户时,数据会自动迁移。 建议使用此路径来升级帐户。 但是,如果你决定将数据从常规用途 v1 帐户移到 Blob 存储帐户,则需要使用下面所述的工具和库手动迁移数据。

AzCopy

AzCopy 是一个 Windows 命令行实用工具,旨在实现高性能地将数据复制到 Azure 存储和从 Azure 存储中复制。 可以使用 AzCopy 将数据从现有的常规用途存储帐户复制到 Blob 存储帐户,或从本地存储设备上传数据。 有关详细信息,请参阅使用 AzCopy 命令行实用工具传输数据

数据移动库

适用于 .NET 的 Azure 存储数据移动库基于为 AzCopy 提供技术支持的核心数据移动框架。 库旨在实现类似于 AzCopy 的高性能、可靠且简单的数据传输操作。 可以通过它以本机模式充分利用应用程序中 AzCopy 提供的功能,无需运行和监视 AzCopy 的外部实例。 有关详细信息,请参阅适用于 .Net 的 Azure 存储数据移动库

REST API 或客户端库

可以创建自定义应用程序以使用其中一个 Azure 客户端库或 Azure 存储服务 REST API 将数据迁移到 Blob 存储帐户。 Azure 存储对多种语言和平台(如 .NET、Java、C++、Node.JS、PHP、Ruby 和 Python)提供了内容丰富的客户端库。 客户端库提供高级功能,如重试逻辑、日志记录和并行上传。 也可以直接针对可以由发出 HTTP/HTTPS 请求的任何语言调用的 REST API 进行开发。

有关 Azure 存储 REST API 的详细信息,请参阅 Azure 存储服务 REST API 参考

Important

使用客户端加密进行加密的 Blob 会将与加密相关的元数据与 Blob 一起存储。 如果复制使用客户端加密来加密的 Blob,请确保复制操作保留 Blob 元数据,尤其是与加密相关的元数据。 如果复制不包含此加密元数据的 Blob,则不能再次检索 Blob 内容。 有关加密相关元数据的详细信息,请参阅 Azure 存储客户端加密

Azure 导入/导出服务

如果要将大量的数据导入存储帐户,请考虑 Azure 导入/导出服务。 使用导入/导出服务可将磁盘驱动器寄送到 Azure 数据中心,从而安全地将大量数据导出到 Azure Blob 存储和 Azure 文件。

还可以使用导入/导出服务将数据从 Azure Blob 存储传输到磁盘驱动器,然后再寄送到本地站点。 可将单个或多个磁盘驱动器中的数据导入到 Azure Blob 存储或 Azure 文件。 有关详细信息,请转到什么是 Azure 导入/导出服务?

存储帐户计费

我们会根据存储帐户使用情况,对 Azure 存储计费。 存储帐户中的所有对象会作为组共同计费。

存储成本根据以下因素进行计算:区域/位置、帐户类型、访问层、存储容量、复制方案、存储事务和数据流出量。

  • 区域是指帐户所基于的地理区域。
  • 帐户类型是指所使用的存储帐户类型。
  • 访问层是指你为常规用途 v2 或 Blob 存储帐户指定的数据使用模式。
  • 存储容量指的是存储帐户中用来存储数据的配额。
  • 复制可以确定一次保留的数据副本的数量以及保留位置。
  • 事务是指对 Azure 存储的所有读取和写入操作。
  • 数据流出量是指传出某个 Azure 区域的任何数据。 当不在同一区域中的应用程序访问存储帐户中的数据时,需要为数据流出量付费。

Azure 存储定价 页提供基于帐户类型、存储容量、复制和交易的详细定价信息。 数据传输定价详细信息 提供了针对数据流出量的详细定价信息。 可以使用 Azure 存储定价计算器 来帮助估算成本。

后续步骤