你当前正在访问 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 使用操作参数设置为 appendPath - Update 操作来上传每个块。 上传最后一个块后,AzCopy 将使用操作参数设置为 flushPath - 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 服务终结点的命令

命令 方案 Operations
azcopy bench 上传 放置块放置块列表。 可能根据对象大小来放置 Blob
azcopy bench 下载 List BlobsGet Blob PropertiesGet Blob
azcopy copy 上传 放置块放置块列表获取 Blob 属性。 可能根据对象大小来放置 Blob
azcopy copy 下载 List BlobsGet Blob PropertiesGet Blob
azcopy copy 执行试运行 列出 Blob
azcopy copy 从 Amazon S3 复制 从 URL 放置 Blob。 根据对象大小,还可以是从 URL 放置块放置块列表
azcopy copy 从 Google 云存储进行复制 从 URL 放置 Blob。 根据对象大小,还可以是从 URL 放置块放置块列表
azcopy copy 复制到另一个容器 列出 Blob获取 Blob 属性从 URL 放置 Blob。 根据对象大小,还可以是从 URL 放置块放置块列表
azcopy sync 使用对容器的更改更新本地 List BlobsGet Blob PropertiesGet Blob
azcopy sync 使用对本地文件系统的更改更新容器 列出 Blob获取 Blob 属性放置块放置块列表。 可能根据对象大小来放置 Blob
azcopy sync 同步容器 列出 Blob获取 Blob 属性从 URL 放置 Blob。 根据对象大小,还可以是从 URL 放置块放置块列表
azcopy set-properties 设置 blob 层 设置 Blob 层列出 Blob(如果定位虚拟目录)
azcopy set-properties 设置元数据 设置 Blob 元数据列出 Blob(如果定位虚拟目录)
azcopy set-properties 设置 Blob 标记 设置 Blob 标记列出 Blob(如果定位虚拟目录)
azcopy list 列出容器中的 Blob 列出 Blob
azcopy make 创建容器 创建容器
azcopy remove 删除容器 删除容器
azcopy remove 删除 Blob 获取 Blob 属性列出 Blob(如果定位虚拟目录)和删除 Blob

面向 Data Lake Storage 终结点的命令

命令 方案 Operations
azcopy bench 上传 Path - Update (Append) 和 Path - Update (Flush)
azcopy bench 下载 List BlobsGet Blob PropertiesPath - Read
azcopy copy 上传 Path - UpdateGet Blob Properties
azcopy copy 下载 List BlobsGet Blob PropertiesPath - Read
azcopy copy 执行试运行 列出 Blob
azcopy copy 从 Amazon S3 复制 不支持
azcopy copy 从 Google 云存储进行复制 不支持
azcopy copy 复制到另一个容器 List BlobsCopy Blob。 如果设置了 --preserve-permissions-true,则执行 Path - Get Properties(获取访问控制列表)和 Path - Update(设置访问控制),否则执行 Get Blob Properties
azcopy sync 使用对容器的更改更新本地 List BlobsGet Blob PropertiesGet Blob
azcopy sync 使用对本地文件系统的更改更新容器 List BlobsGet Blob PropertiesPath - Update (Append) 和 Path - Update (Flush)
azcopy sync 同步容器 List BlobsGet Blob PropertiesCopy Blob
azcopy set-properties 设置 blob 层 不支持
azcopy set-properties 设置元数据 不支持
azcopy set-properties 设置 Blob 标记 不支持
azcopy list 列出容器中的 Blob 列出 Blob
azcopy make 创建容器 文件系统 - 创建
azcopy remove 删除容器 文件系统 - 删除
azcopy remove 删除 Blob 文件系统 - 删除

另请参阅