你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

估算使用 Azure Blob 存储的成本

本文可帮助你估算在 Azure Blob 存储中存储、上传、下载和处理数据的成本。

所有计算都基于虚构的价格。 可以在本文末尾的示例价格部分找到每个价格。

重要

这些价格仅作为示例,不应将其用于计算你的成本。 有关官方价格,请参阅 Azure Blob 存储定价Azure Data Lake Storage 定价页。 有关如何选择正确定价页的详细信息,请参阅了解 Azure Blob 存储的完整计费模型

存储数据的成本

可以通过将数据大小(以 GB 为单位)乘以所选访问层的存储价格来计算存储成本。 例如(假设示例定价),如果计划将 10 TB 的 Blob 存储在冷访问层中,则容量成本为 0.0115 美元 * 10 * 1024 = 每月 117.78 美元。

根据所需的存储空间量,按折扣价格预留容量可能会有一定作用。 对于 1 年或 3 年的承诺持续时间,可以按 100 TB 和 1 PB 的增量预留容量。 预留容量仅适用于存储在热、冷和存档访问层中的数据。

下表使用本文中显示的示例价格比较了存储 100 TB(102,400 GB)数据的即用即付和预留容量成本。

计算 存档
100 TB 存储的每月价格 2,130 美元 963 美元 205 美元
100 TB 存储的每月价格(预留一年) 1,747 美元 966 美元 183 美元
100 TB 存储的每月价格(预留三年) 1,406 美元 872 美元 $168

要计算预留容量开始有意义的时间点,请将预留容量的成本除以即用即付费率。 例如,如果冷层存储的 1 年期预留容量成本为 966 美元,即用即付费率为 0.0115 美元,则计算为 966 美元 / 0.0115 美元 = 84,000 GB(约 82 TB)。 如果计划在整个预留期内将至少 82 TB 的数据存储在冷层中,则预留容量就开始有意义了。 下表计算了每个访问层的收支平衡点(以 TB 为单位)。

计算 存档
每 GB 数据存储的每月价格(即用即付) 0.0208 美元 0.0115 美元 0.002 美元
100 TB 预留存储的价格 1,747 美元 966 美元 183 美元
1 年预留容量的收支平衡点 82 TB1 82 TB 89 TB
3 年预留容量的收支平衡点 66 TB1 74 TB 82 TB

1热层具有多个即用即付费率。 此计算中纳入了第一个 50 TB 的价格和第二个 50 TB 的价格。

要详细了解预留容量,请参阅使用预留容量优化 Blob 存储的成本

有关存储成本的一般信息,请参阅数据存储和索引计量

传输数据的成本

传输数据时,将按写入和读取操作向你收费。 一些客户端应用程序会使用其他操作来传输数据,例如列出 Blob 或获取属性的操作。 AzCopy 实用工具已针对高效传输数据进行了优化,可以充当进行成本估算的标准示例。

请参阅使用 AzCopy 估算传输 Blob 的成本

上传的成本

上传数据时,客户端会将该数据划分为块,并单独上传每个块。 上传的每个块都将按写入操作计费。 将块组合到存储在帐户中的 blob 中时,需要执行最终写入操作。 上传 Blob 所需的写入操作数取决于每个块的大小。 8 MiB 是上传到 Blob 服务终结点(blob.core.windows.net)的默认块大小,并且该大小是可配置的。 4 MiB 是上传到 Data Lake Storage 终结点(dfs.core.windows.net)的块大小,该大小不可配置。 较小的块大小性能更好,因为块可以并行上传。 但成本会更高,因为上传 Blob 需要执行更多的写入操作。

通过使用本文中显示的示例价格并假设块大小为 8-MiB,下表估算了将每个大小为 5 MiB的 1000 个 Blob 上传到热层的成本。

价格因素
5 GiB 中的 MiB 数量 5,120
每个 Blob 的写入操作数(5,120 MiB / 8 MiB 块) 640
用于提交块的写入操作 1
写入操作总数 (1000 * 641) 641000
单个写入操作的价格(价格/10000) $0.0000055
写入操作的成本(641000 * 操作价格) $3.5255
总成本(写入 + 属性) 3.5250055 美元

有关更详细的示例,请参阅估算上传的成本

下载的成本

下载 Blob 所需的操作数取决于使用的终结点。 如果从 Blob 服务终结点下载 Blob,将按单个读取操作的费用计费。 如果从 Data Lake Storage 终结点下载 Blob,则将按多个读取操作的费用计费,因为必须以 4-MiB 块的形式下载 Blob。 如果从冷层或寒层下载 Blob,则还会按从冷层、寒层或存档层下载的每个 GiB 收取数据检索费用。

通过使用本文中显示的示例价格,下表估算了使用 Blob 存储终结点从冷层下载每个大小为 5 GiB 的 1,000 个 Blob 的成本。

价格因素
单个读取操作的价格(价格/10000) 0.000001 美元
读取操作的成本(1000 * 操作价格) $0.001
数据检索的价格(每 GiB) 0.01 美元
数据检索的成本(5 * 操作价格) $0.05
总成本(读取 + 检索) $0.051

AzCopy 等实用工具还使用列表操作和用来获取 Blob 属性的操作。 作为整体账单的一部分,这些费用的金额相对较小。 有关示例,请参阅估算下载成本

在容器之间进行复制的成本

如果将 Blob 复制到同一帐户中的另一个容器,则会按基于目标层的单个写入操作成本收费。 如果目标容器位于另一个帐户中,则还会收取数据检索费用和基于源层的读取操作费用。 如果目标帐户位于另一个区域,则帐单中还会增加网络出口的费用。

通过使用本文中显示的示例价格,下表估算了在热层中的两个容器之间复制每个大小为 5 GiB 的 1,000 个 Blob 的成本。

价格因素
单个写入操作的价格(价格/10000) $0.0000055
写入成本(1000 * 操作价格) $0.0055
单个读取操作的价格(价格/10000) $0.00000044
读取操作的成本(1000 * 操作价格) $0.00044
总成本(上一部分 + 检索 + 读取) 0.0068 美元

有关完整示例,请参阅估算在容器之间进行复制的成本

重命名 Blob 的成本

重命名 Blob 的成本取决于帐户的文件结构以及要重命名的 Blob 数。

如果帐户具有平面命名空间,则不存在用于重命名 Blob 的专用操作。 相反,客户端工具会将 Blob 复制到新 Blob,然后删除源 Blob。 而删除操作亦不会收取费用。 因此,重命名 Blob 时,将会收取单个写入操作的费用。 如果帐户具有分层命名空间,则存在用于重命名 Blob 的专用操作,并按迭代写入操作计费。

对 Blob 服务终结点进行写入操作的成本低于对 Data Lake Storage 终结点进行迭代写入操作的成本。 因此,在具有平面命名空间的账户中,逐个重命名 Blob 的成本较低。

通过使用本文中所示的示例价格,下表计算了重命名 1,000 个 Blob 的成本。

价格因素
对 Blob 服务终结点进行单个写入操作的价格(价格/ 10,000) $0.0000055 0.00001 美元 $0.000018
重命名 Blob 虚拟目录的成本(1000 * 操作价格) $0.0055 $0.01 .018 美元
对 Data Lake Storage 终结点进行单个迭代写入操作的价格(价格/ 100) 0.000715 美元 0.000715 美元 0.000715 美元
重命名 Data Lake Storage 目录的成本(1000 * 操作价格) 0.715 美元 0.715 美元 0.715 美元

根据这些计算,在热层中重命名 1,000 个 blob 的成本相差 70 美分

重命名目录的成本

如果帐户具有平面命名空间,则会将 Blob 组织到模拟文件夹结构的虚拟目录中。 虚拟目录构成 blob 名称的一部分,并由分隔符表示。 由于虚拟目录是 blob 名称的一部分,因此其实际上不作为独立的对象存在。 如果不对名称中包含虚拟目录的所有 Blob 进行重命名,则无法重命名虚拟目录。 要有效地重命名每个 Blob,客户端应用程序必须复制 blob,然后删除源 Blob。

如果帐户具有分层命名空间,则目录不是虚拟的。 它们是可直接操作的具体、独立的对象。 因此,重命名 blob 要高效得多,因为客户端应用程序可以在单个操作中重命名 blob。

通过使用本文中显示的示例价格,下表计算了重命名 1,000 个目录(每个包含 1,000 个 Blob)的成本。

价格因素
对 Blob 服务终结点进行单个写入操作的价格(价格/ 10,000) $0.0000055 0.00001 美元 $0.000018
重命名 Blob 虚拟目录的成本(1000 * [1000 * 操作价格]) 5.50 美元 10.00 美元 18.00 美元
对 Data Lake Storage 终结点进行单个迭代写入操作的价格(价格/ 100) 0.000715 美元 0.000715 美元 0.000715 美元
重命名 Data Lake Storage 目录的成本(1000 * 操作价格) 0.715 美元 0.715 美元 0.715

根据这些计算,在热层中重命名 1,000 个目录(每个包含 1,000 个 Blob)的成本相差将近 5.00 美元。 对于冷层中的目录,相差则超过了 17 美元

示例:上传、下载和更改访问层

此示例演示了四个月的基于支出的上传、下载以及在层之间移动对象的影响。

参数

在每个月初,将 1,000 个文件上传到热访问层。 每个文件的大小为 5 GB。 在该月期间,这些文件中的一半将由客户端工作负载读取。 30 天后,生命周期管理策略将另一半移到冷访问层,以节省存储成本。

3 月,客户端应用程序读取了 10% 的存储在冷访问层中的数据。 生命周期管理策略已配置为在读取这些 Blob 后将它们移回热层。

在 4 月的第 20 天,客户端再次读取了 10% 的存储在冷访问层中的数据。 但这些 Blob 在冷层中的存储时间不到 30 天。 因为生命周期管理策略会在最少经过 30 天之前将这些 Blob 移回热层,因此会评估提前退出罚款。 提前删除罚款为是冷存储 10 天的费用。

计算

下表使用本文中显示的示例价格展示了四个月的支出情况。

注意

这些计算提供了给定示例定价情况下的近似估计值。 如果分批上传 Blob,则存储成本的某些部分将按比例计算,因为它们不会在整个月份期间产生存储成本。 请参阅数据存储和索引计量

成本因素 1 月 February March 4 月
将 1000 个 Blob 写入热层的成本1 $3.53 $3.53 $3.53 $3.53
每月引入后热层中的 Blob 数 1000 2000 2100 2155
要移动到冷层的 Blob 数 0 1000 1050 1078
将 Blob 设置为冷层的成本(按写入操作计费) $0.00 $0.01 0.0105 美元 0.010775 美元
冷层中的 Blob 数 0 1000 1050 1078
冷层中 Blob 的总大小 (GB) 0 5000 5250 5388
从冷层读取,然后移回热层的 Blob 数 0 100 105 108
从冷层读取 Blob 的成本 $0.00 0.0001 美元 0.000105 美元 0.00010775 美元
将 Blob 移回热层的成本 $0.00 0.0001 美元 0.000105 美元 0.00010775 美元
保留在冷层中的 Blob 数 0 900 945 970
保留在冷层中的 Blob 总大小(GB) 0 4500 4725 4849
在冷层中存储 Blob 的成本 $0.00 51.75 美元 54.34 美元 55.76 美元
提前删除罚款 $0.00 $0.00 $0.00 0.41 美元
保留在热层中的 Blob 数 1000 1100 1155 1185
保留在热层中的 Blob 总大小 (GB) 5000 5500 5775 5926
在热层中存储 Blob 的成本 104.00 美元 114.40 美元 120.12 美元 123.27 美元
从热层读取的 Blob 数 500 550 578 593
从热层读取 Blob 的成本 0.00022 美元 0.000242 美元 0.0002541 美元 0.00026076 美元
月度总计 107.53 美元 169.69 美元 178.00 美元 182.98 美元

1完成每个月度上传所需的操作数为 641,000 个。 计算该数字的公式为 1000 个 blob * 5 GB / 8-MiB 块 + 将所有块组合到 Blob 中所需的写入操作。

示例价格

下表包含对 Blob 服务终结点 (blob.core.windows.net) 的每个请求的示例(虚构)价格。

重要

这些价格仅作为示例,不应将其用于计算你的成本。 有关官方价格,请参阅 Azure Blob 存储定价Azure Data Lake Storage 定价页。 有关如何选择正确定价页的详细信息,请参阅了解 Azure Blob 存储的完整计费模型

价格因素 存档
写入操作的价格(每 10,000 次) $0.055 0\.10 美元 $0.18 0.11 美元
读取操作的价格(每 10,000 次) $0.0044 0.01 美元 0\.10 美元 5.50 美元
列表和容器操作(每 10000 个) $0.055 $0.055 $0.065 .055 美元
所有其他操作(按 10,000 计) $0.0044 $0.0044 $0.0052 .0044 美元
数据检索的价格(每 GB) 免费 0.01 美元 0.03 美元 .022 美元
第一个 50 TB 数据存储的价格(即用即付) 0.0208 美元 0.0115 美元 0.0045 美元 0.002 美元
后续 450 TB 数据存储价格(即用即付) 0.020 美元 0.0115 美元 0.0045 美元 0.002 美元
100 TB 的价格(一年预留容量) 1,747 美元 966 美元 不可用 183 美元
100 TB 的价格(三年预留容量) 1,406 美元 872 美元 不可用 $168
北美区域之间的网络带宽(每 GB) $0.02 $0.02 $0.02 $0.02
高优先级读取操作的价格(每 10,000 次) 不适用 不适用 不适用 65.00 美元
高优先级数据检索的价格(每 GB) 不适用 不适用 不适用 $0.13

下表包含对 Data Lake Storage 终结点 (dfs.core.windows.net) 的每个请求的示例(虚构)价格。 有关官方价格,请参阅 Azure Data Lake Storage 定价

价格因素 存档
写入操作的价格(每 4 MiB,每 10,000 个) 0.07120 美元 $0.13 $0.234 $0.143
读取操作的价格(每 4 MiB,每 10,000 个) $0.0057 $0.013 $0.13 $7.15
迭代写入操作(每 100 个) $0.0715 $0.0715 $0.0715 $0.0715
迭代读取操作(每 10,000 个) $0.0715 $0.0715 $0.0845 $0.0715
数据检索的价格(每 GB) 免费 0.01 美元 0.03 美元 $0.022
北美区域之间的网络带宽(每 GB) $0.02 $0.02 $0.02 $0.02
数据存储价格第一个 50 TB(即用即付) 0.021 美元 0.012 美元 0.0045 美元 0.002 美元
数据存储价格后续 450 TB(即用即付) 0.020 美元 0.012 美元 0.0045 美元 0.002 美元
100 TB 的价格(一年预留容量) 1,747 美元 966 美元 不可用 183 美元
100 TB 的价格(三年预留容量) 1,406 美元 872 美元 不可用 $168
高优先级读取操作的价格(每 10,000 次) 不适用 不适用 不适用 84.50 美元
高优先级数据检索的价格(每 GB) 不适用 不适用 不适用 $0.13
索引(GB/月) 0.0297 美元 不适用 不适用 不适用

另请参阅