你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
估算使用 AzCopy 传输 Blob 的成本
本文可帮助你估算使用 AzCopy 传输 Blob 的成本。
所有计算都基于虚构的价格。 可以在本文末尾的示例价格部分找到每个价格。
重要
这些价格仅作为示例,不应将其用于计算你的成本。 有关官方价格,请参阅 Azure Blob 存储定价或 Azure Data Lake Storage 定价。 有关如何选择正确定价页的详细信息,请参阅了解 Azure Blob 存储的完整计费模型。
上传的成本
运行 azcopy copy 命令时,需指定目标终结点。 该终结点可以是 Blob 服务终结点 (blob.core.windows.net
),也可以是 Data Lake Storage 终结点 (dfs.core.windows.net
)。 本部分计算使用每个终结点上传 1000 个 Blob 的成本,其中每个 Blob 的大小为 5 GiB。
上传到 Blob 服务终结点的成本
如果你将数据上传到 Blob 服务终结点,则默认情况下,AzCopy 会以 8 MiB 的块形式上传每个 Blob。 此大小是可配置的。
AzCopy 使用 Put Block 操作来上传每个块。 上传最后一个块后,AzCopy 将使用 Put Block List 操作来提交这些块。 这两个操作都按“写入”操作计费。
下表计算上传这些 Blob 所需的写入操作数。
计算 | 值 |
---|---|
5 GiB 中的 MiB 数量 | 5,120 |
每个 Blob 的 PutBlock 操作(5,120 MiB/8 MiB 的块) | 640 |
每个 Blob 的 PutBlockList 操作 | 1 |
写入操作总数 (1000 * 641) | 641000 |
提示
可以通过将 AzCopy 配置为使用更大的块大小来减少操作数。
上传每个 Blob 后,AzCopy 将使用 Get Blob Properties 操作作为验证上传的一部分。 Get Blob Properties 操作作为“所有其他操作”操作计费。
下表使用本文中所示的示例价格计算上传这些 Blob 的成本。
价格因素 | 热 | 冷 | 冷 | 存档 |
---|---|---|---|---|
单个写入操作的价格(价格/10000) | $0.0000055 | 0.00001 美元 | $0.000018 | 0.000011 美元 |
写入操作的成本(641000 * 操作价格) | $3.5255 | $6.4100 | $11.5380 | 7.0510 美元 |
单个“其他”操作的价格(价格/10000) | $0.00000044 | $0.00000044 | $0.00000052 | $0.00000044 |
获取 Blob 属性的成本(1000 *“其他”操作价格) | $0.0004 | $0.0004 | $0.0005 | $0.00044 |
总成本(写入 + 属性) | $3.53 | $6.41 | $11.54 | 7.05 美元 |
注意
如果是上传到存档层,则每个 Put Block 操作均按单个“热”写入操作的价格计费。 每个 Put Block List 操作按单个“存档”写入操作的价格计费。
上传到 Data Lake Storage 终结点的成本
如果你将数据上传到 Data Lake Storage 终结点,则 AzCopy 会以 4 MiB 的块形式上传每个 Blob。 此值不可配置。
AzCopy 使用操作参数设置为 append
的 Path - Update 操作来上传每个块。 上传最后一个块后,AzCopy 将使用操作参数设置为 flush
的 Path - Update 操作来提交这些块。 这两个操作都按“写入”操作计费。
下表计算上传这些 Blob 所需的写入操作数。
计算 | 值 |
---|---|
5 GiB 中的 MiB 数量 | 5,120 |
每个 Blob 的路径更新(追加)操作(5,120 MiB/4 MiB 的块) | 1,280 |
每个 Blob 的 Path - Update (flush) 操作 | 1 |
写入操作总数 (1000 * 1281) | 128100 |
上传每个 Blob 后,AzCopy 将使用 Get Blob Properties 操作作为验证上传的一部分。 Get Blob Properties 操作作为“所有其他操作”操作计费。
下表使用本文中所示的示例价格计算上传这些 Blob 的成本
价格因素 | 热 | 冷 | 冷 | 存档 |
---|---|---|---|---|
单个写入操作的价格(价格/10000) | 0.00000720 美元 | $0.000013 | $0.0000234 | $0.0000143 |
写入操作的成本(1281000 * 操作价格) | 9.2332 美元 | $16.6530 | $29.9754 | $18.3183 |
单个“其他”操作的价格(价格/10000) | $0.00000044 | $0.00000044 | 0.00000068 美元 | $0.00000044 |
获取 Blob 属性的成本(1000 * 操作价格) | $0.0004 | $0.0004 | 0.0007 美元 | $0.0004 |
总成本(写入 + 属性) | 9.22 美元 | $16.65 | $29.98 | $18.32 |
下载的成本
运行 azcopy copy 命令时,需指定源终结点。 该终结点可以是 Blob 服务终结点 (blob.core.windows.net
),也可以是 Data Lake Storage 终结点 (dfs.core.windows.net
)。 本部分计算使用每个终结点下载 1000 个 Blob 的成本,其中每个 Blob 的大小为 5 GiB。
从 Blob 服务终结点下载的成本
如果你从 Blob 服务终结点下载 Blob,AzCopy 将使用 List Blobs 来枚举 Blob。 List Blobs 作为“列出和创建容器”操作计费。 一个 List Blobs 操作最多返回 5000 个 Blob。 因此,在此示例中,只需要一个 List Blobs 操作。
对于每个 Blob,AzCopy 将使用 Get Blob Properties 操作和 Get Blob 操作。 Get Blob Properties 操作作为“所有其他操作”操作计费,Get Blob 操作作为“读取”操作计费。
如果你从冷层下载 Blob,则还会按下载的 GiB 向你收取数据检索费用。
下表使用本文中所示的示例价格计算下载这些 Blob 的成本。
注意
此表排除了存档层,因为你无法直接从该层下载。 请参阅从存档层解除冻结 Blob。
价格因素 | 热 | 冷 | 冷 |
---|---|---|---|
单个列表操作的价格(价格/10000) | $0.0000055 | $0.0000055 | $0.0000065 |
列表操作的成本(1 * 操作价格) | $0.0000055 | 0.0000050 美元 | $0.0000065 |
单个“其他”操作的价格(价格/10000) | $0.00000044 | $0.00000044 | $0.00000052 |
获取 Blob 属性的成本(1000 * 操作价格) | $0.00044 | $0.00044 | $0.00052 |
单个读取操作的价格(价格/10000) | $0.00000044 | 0.000001 美元 | 0.00001 美元 |
读取操作的成本(1000 * 操作价格) | $0.00044 | $0.001 | $0.01 |
数据检索的价格(每 GiB) | $0.00 | 0.01 美元 | 0.03 美元 |
数据检索的成本(5 * 操作价格) | $0.00 | $0.05 | $0.15 |
总成本(列表 + 属性 + 读取 + 检索) | $0.001 | $0.051 | $0.161 |
从 Data Lake Storage 终结点下载的成本
如果你从 Data Lake Storage 终结点下载 Blob,AzCopy 将使用 List Blobs 来枚举 Blob。 List Blobs 作为“列出和创建容器”操作计费。 一个 List Blobs 操作最多返回 5000 个 Blob。 因此,在此示例中,只需要一个 List Blobs 操作。
对于每个 Blob,AzCopy 都使用 Get Blob Properties 操作,该操作作为“所有其他操作”操作计费。 AzCopy 使用 Path - Read 操作下载每个块(大小为 4 MiB)。 每个 Path - Read 调用都按“读取”操作计费。
如果你从冷层下载 Blob,则还会按下载的 GiB 向你收取数据检索费用。
下表计算上传这些 Blob 所需的写入操作数。
计算 | 值 |
---|---|
5 GiB 中的 MiB 数量 | 5,120 |
每个 Blob 的路径更新操作(5,120 MiB/4 MiB 的块) | 1,280 |
读取操作总数 (1000* 1280) | 1,280,000 |
下表使用本文中所示的示例价格计算下载这些 Blob 的成本。
注意
此表排除了存档层,因为你无法直接从该层下载。 请参阅从存档层解除冻结 Blob。
价格因素 | 热 | 冷 | 冷 |
---|---|---|---|
单个列表操作的价格(价格/10000) | $0.0000055 | $0.0000055 | $0.0000065 |
列表操作的成本(1 * 操作价格) | $0.0000055 | 0.0000050 美元 | $0.0000065 |
单个“其他”操作的价格(价格/10000) | $0.00000044 | $0.00000044 | $0.00000052 |
获取 Blob 属性的成本(1000 * 操作价格) | $0.00044 | $0.00044 | $0.00052 |
单个读取操作的价格(价格/10000) | 0.00000060 美元 | $0.00000130 | $0.00001300 |
读取操作的成本(1281000 * 操作价格) | $0.73017 | $1.6653 | $16.653 |
数据检索的价格(每 GiB) | $0.00000000 | $0.01000000 | $0.03000000 |
数据检索的成本(5 * 操作价格) | $0.00 | $0.05 | $0.15 |
总成本(列表 + 属性 + 读取 + 检索) | $0.731 | $1.716 | $16.804 |
在容器之间进行复制的成本
运行 azcopy copy 命令时,需指定源和目标终结点。 这些终结点可以是 Blob 服务终结点 (blob.core.windows.net
),也可以是 Data Lake Storage 终结点 (dfs.core.windows.net
)。 本部分计算复制 1000 个 Blob 的成本,其中每个 Blob 的大小为 5 GiB。
注意
存档层中的 Blob 只能复制到联机层。 由于所有这些示例都假定源层和目标层相同,因此这些表中不包括存档层。
在同一帐户中复制 Blob 的成本
无论你指定哪个终结点(Blob 服务或 Data Lake Storage),AzCopy 都使用 List Blobs 来枚举位于源位置的 Blob。 List Blobs 作为“列出和创建容器”操作计费。 一个 List Blobs 操作最多返回 5000 个 Blob。 因此,在此示例中,只需要一个 List Blobs 操作。
对于每个 Blob,AzCopy 会将 Get Blob Properties 操作用于源 Blob 和复制到目标的 Blob。 Get Blob Properties 操作作为“所有其他操作”操作计费。 AzCopy 使用 Copy Blob 操作将 Blob 复制到另一个容器,该操作作为基于目标层的“写入”操作计费。
价格因素 | 热 | 冷 | 冷 |
---|---|---|---|
单个列表操作的价格(价格/10000) | $0.0000055 | $0.0000055 | $0.0000065 |
列表操作的成本(1 * 操作价格) | $0.0000055 | $0.0000055 | $0.0000065 |
单个“其他”操作的价格(价格/10000) | $0.00000044 | $0.00000044 | $0.00000052 |
获取 Blob 属性的成本(2000 * 操作价格) | $0.00088 | $0.00088 | $0.00104 |
单个写入操作的价格(价格/10000) | $0.0000055 | 0.00001 美元 | $0.000018 |
写入成本(1000 * 操作价格) | $0.0055 | $0.01 | 0.018 美元 |
总成本(列表 + 属性 + 写入) | $0.0064 | 0.0109 美元 | 0.0190 美元 |
将 Blob 复制到同一区域中的另一个帐户的成本
除了还对数据检索和基于源层的读取操作计费之外,此方案与上一个方案相同。
价格因素 | 热 | 冷 | 冷 |
---|---|---|---|
上一部分的总计 | $0.0064 | 0.0109 美元 | 0.0190 美元 |
单个读取操作的价格(价格/10000) | $0.00000044 | 0.000001 美元 | 0.00001 美元 |
读取操作的成本(1000 * 操作价格) | $0.00044 | $0.001 | $0.01 |
数据检索的价格(每 GiB) | 免费 | 0.01 美元 | 0.03 美元 |
数据检索的成本(5 * 操作价格) | $0.00 | $.05 | $.15 |
总成本(上一部分 + 检索 + 读取) | 0.0068 美元 | 0.0619 美元 | 0.1719 美元 |
将 Blob 复制到位于另一个区域中的帐户的成本
除了对网络流出量计费之外,此方案与上一个方案相同。
价格因素 | 热 | 冷 | 冷 |
---|---|---|---|
上一部分的总成本 | 0.0068 美元 | 0.0619 美元 | 0.1719 美元 |
网络流出量的价格(每 GiB) | $0.02 | $0.02 | $0.02 |
网络流出量的总成本(5 * 流出量价格) | $.10 | $.10 | $.10 |
总成本(上一部分 + 流出量) | 0.1068 美元 | 0.1619 美元 | 0.2790 美元 |
同步更改的成本
运行 azcopy sync 命令时,需指定源和目标终结点。 这些终结点可以是 Blob 服务终结点 (blob.core.windows.net
),也可以是 Data Lake Storage 终结点 (dfs.core.windows.net
)。
注意
存档层中的 Blob 只能复制到联机层。 由于所有这些示例都假定源层和目标层相同,因此这些表中不包括存档层。
将容器与本地文件系统同步的成本
如果你希望使用对本地文件系统的更改来更新容器,则 AzCopy 将执行与本文内上传到 Blob 服务终结点的成本部分中所述的完全相同的任务。 仅当本地文件的上次修改时间不同于容器中 Blob 的上次修改时间时,才会上传 Blob。 因此,只会针对上传的 Blob 收取写入事务费用。
如果你希望使用对容器的更改来更新本地文件系统,则 AzCopy 将执行与本文的从 Blob 服务终结点下载的成本部分中所述的完全相同的任务。 仅当本地 Blob 的上次修改时间不同于容器中 Blob 的上次修改时间时,才会下载 Blob。 因此,只会针对下载的 Blob 收取读取事务费用。
同步容器的成本
如果你希望使两个容器保持同步,则 AzCopy 将执行与本文内在容器之间进行复制的成本部分中所述的完全相同的任务。 仅当源容器中 Blob 的上次修改时间不同于目标容器中 Blob 的上次修改时间时,才会复制 Blob。 因此,只会针对复制的 Blob 收取写入和读取事务费用。
同步不同帐户中存在的容器时,azcopy sync 命令将对源帐户和目标帐户使用 List Blobs 操作。
计算摘要
下表包含本文中提供的所有估算。 所有估算都基于传输 1000 个 Blob(每个 Blob 的大小为 5 GiB),并使用下一部分中列出的示例价格。
方案 | 热 | 冷 | 冷 | 存档 |
---|---|---|---|---|
上传 Blob(Blob 服务终结点) | $3.53 | $6.41 | $11.54 | $3.53 |
上传 Blob(Data Lake Storage 终结点) | 9.22 美元 | $16.65 | $29.98 | $18.32 |
下载 Blob(Blob 服务终结点) | $0.001 | $0.051 | $0.161 | 不可用 |
下载 Blob(Data Lake Storage 终结点) | $0.731 | $1.716 | $16.804 | 不可用 |
复制 blob | 0.064 美元 | 0.0109 美元 | 0.0190 美元 | 空值 |
将 Blob 复制到另一个帐户 | 0.0068 美元 | 0.0619 美元 | 0.1719 美元 | 空值 |
将 Blob 复制到另一个区域中的帐户 | 0.1068 美元 | 0.1619 美元 | 0.2790 美元 | 空值 |
示例价格
下表包含对 Blob 服务终结点 (blob.core.windows.net
) 的每个请求的示例(虚构)价格。 有关官方价格,请参阅 Azure Blob 存储定价。
价格因素 | 热 | 冷 | 冷 | 存档 |
---|---|---|---|---|
写入事务的价格(每 10,000 个) | $0.055 | 0\.10 美元 | $0.18 | 0\.10 美元 |
读取事务的价格(每 10,000 个) | $0.0044 | 0.01 美元 | 0\.10 美元 | 5.50 美元 |
数据检索的价格(每 GiB) | 免费 | 0.01 美元 | 0.03 美元 | $0.022 |
列表和容器操作(每 10000 个) | $0.055 | 0.050 美元 | $0.065 | $0.055 |
所有其他操作(按 10,000 计) | $0.0044 | $0.0044 | $0.0052 | $0.0044 |
下表包含对 Data Lake Storage 终结点 (dfs.core.windows.net
) 的每个请求的示例(虚构)价格。 有关官方价格,请参阅 Azure Data Lake Storage 定价。
价格因素 | 热 | 冷 | 冷 | 存档 |
---|---|---|---|---|
写入事务的价格(每 4MiB,每 10,000 个) | 0.0720 美元 | $0.13 | $0.234 | $0.143 |
读取事务的价格(每 4MiB,每 10,000 个) | $0.0057 | $0.013 | $0.13 | $7.15 |
数据检索的价格(每 GiB) | 免费 | 0.01 美元 | 0.03 美元 | $0.022 |
迭代读取操作(每 10000 个) | $0.0715 | $0.0715 | $0.0845 | $0.0715 |
AzCopy 命令使用的操作
下表显示了每个 AzCopy 命令使用的操作。 若要将每个操作映射到价格,请参阅将每个 REST 操作映射到价格。
面向 Blob 服务终结点的命令
面向 Data Lake Storage 终结点的命令
命令 | 方案 | Operations |
---|---|---|
azcopy bench | 上传 | Path - Update (Append) 和 Path - Update (Flush) |
azcopy bench | 下载 | List Blobs、Get Blob Properties 和 Path - Read |
azcopy copy | 上传 | Path - Update 和 Get Blob Properties |
azcopy copy | 下载 | List Blobs、Get Blob Properties 和 Path - Read |
azcopy copy | 执行试运行 | 列出 Blob |
azcopy copy | 从 Amazon S3 复制 | 不支持 |
azcopy copy | 从 Google 云存储进行复制 | 不支持 |
azcopy copy | 复制到另一个容器 | List Blobs 和 Copy Blob。 如果设置了 --preserve-permissions-true,则执行 Path - Get Properties(获取访问控制列表)和 Path - Update(设置访问控制),否则执行 Get Blob Properties。 |
azcopy sync | 使用对容器的更改更新本地 | List Blobs、Get Blob Properties 和 Get Blob |
azcopy sync | 使用对本地文件系统的更改更新容器 | List Blobs、Get Blob Properties、Path - Update (Append) 和 Path - Update (Flush) |
azcopy sync | 同步容器 | List Blobs、Get Blob Properties 和 Copy Blob |
azcopy set-properties | 设置 blob 层 | 不支持 |
azcopy set-properties | 设置元数据 | 不支持 |
azcopy set-properties | 设置 Blob 标记 | 不支持 |
azcopy list | 列出容器中的 Blob | 列出 Blob |
azcopy make | 创建容器 | 文件系统 - 创建 |
azcopy remove | 删除容器 | 文件系统 - 删除 |
azcopy remove | 删除 Blob | 文件系统 - 删除 |