Estimate the cost of using AzCopy to transfer blobs

This article helps you estimate the cost to transfer blobs by using AzCopy.

All calculations are based on a fictitious price. You can find each price in the sample prices section at the end of this article.

Important

These prices are meant only as examples, and shouldn't be used to calculate your costs. For official prices, see the Azure Blob Storage pricing or Azure Data Lake Storage pricing pricing pages. For more information about how to choose the correct pricing page, see Understand the full billing model for Azure Blob Storage.

The cost to upload

When you run the azcopy copy command, you'll specify a destination endpoint. That endpoint can be either a Blob Service endpoint (blob.core.windows.net) or a Data Lake Storage endpoint (dfs.core.windows.net) endpoint. This section calculates the cost of using each endpoint to upload 1,000 blobs that are 5 GiB each in size.

Cost of uploading to the Blob Service endpoint

If you upload data to the Blob Service endpoint, then by default, AzCopy uploads each blob in 8-MiB blocks. This size is configurable.

AzCopy uses the Put Block operation to upload each block. After the final block is uploaded, AzCopy commits those blocks by using the Put Block List operation. Both operations are billed as write operations.

The following table calculates the number of write operations required to upload these blobs.

Calculation Value
Number of MiB in 5 GiB 5,120
PutBlock operations per blob (5,120 MiB / 8-MiB block) 640
PutBlockList operations per blob 1
Total write operations (1,000 * 641) 641,000

Tip

You can reduce the number of operations by configuring AzCopy to use a larger block size.

After each blob is uploaded, AzCopy uses the Get Blob Properties operation as part of validating the upload. The Get Blob Properties operation is billed as an All other operations operation.

Using the Sample prices that appear in this article, the following table calculates the cost to upload these blobs.

Price factor Hot Cool Cold Archive
Price of a single write operation (price / 10,000) $0.0000055 $0.00001 $0.000018 $0.000011
Cost of write operations (641,000 * operation price) $3.5255 $6.4100 $11.5380 $7.0510
Price of a single other operation (price / 10,000) $0.00000044 $0.00000044 $0.00000052 $0.00000044
Cost to get blob properties (1000 * other operation price) $0.0004 $0.0004 $0.0005 $0.00044
Total cost (write + properties) $3.53 $6.41 $11.54 $7.05

Note

If you upload to the archive tier, each Put Block operation is charged at the price of a hot write operation. Each Put Block List operation is charged the price of an archive write operation.

Cost of uploading to the Data Lake Storage endpoint

If you upload data to the Data Lake Storage endpoint, then AzCopy uploads each blob in 4-MiB blocks. This value isn't configurable.

AzCopy uploads each block by using the Path - Update operation with the action parameter set to append. After the final block is uploaded, AzCopy commits those blocks by using the Path - Update operation with the action parameter set to flush. Both operations are billed as write operations.

The following table calculates the number of write operations required to upload these blobs.

Calculation Value
Number of MiB in 5 GiB 5,120
Path - Update (append) operations per blob (5,120 MiB / 4-MiB block) 1,280
Path - Update (flush) operations per blob 1
Total write operations (1,000 * 1,281) 1,281,00

After each blob is uploaded, AzCopy uses the Get Blob Properties operation as part of validating the upload. The Get Blob Properties operation is billed as an All other operations operation.

Using the Sample prices that appear in this article, the following table calculates the cost to upload these blobs

Price factor Hot Cool Cold Archive
Price of a single write operation (price / 10,000) $0.00000720 $0.000013 $0.0000234 $0.0000143
Cost of write operations (1,281,000 * operation price) $9.2332 $16.6530 $29.9754 $18.3183
Price of a single other operation (price / 10,000) $0.00000044 $0.00000044 $0.00000068 $0.00000044
Cost to get blob properties (1000 * operation price) $0.0004 $0.0004 $0.0007 $0.0004
Total cost (write + properties) $9.22 $16.65 $29.98 $18.32

The cost to download

When you run the azcopy copy command, you'll specify a source endpoint. That endpoint can be either a Blob Service endpoint (blob.core.windows.net) or a Data Lake Storage endpoint (dfs.core.windows.net) endpoint. This section calculates the cost of using each endpoint to download 1,000 blobs that are 5 GiB each in size.

Cost of downloading from the Blob Service endpoint

If you download blobs from the Blob Service endpoint, AzCopy uses the List Blobs to enumerate blobs. A List Blobs is billed as a List and create container operation. One List Blobs operation returns up to 5,000 blobs. Therefore, in this example, only one List Blobs operation is required.

For each blob, AzCopy uses the Get Blob Properties operation, and the Get Blob operation. The Get Blob Properties operation is billed as an All other operations operation and the Get Blob operation is billed as a read operation.

If you download blobs from the cool or cold tier, you're also charged a data retrieval per GiB downloaded.

Using the Sample prices that appear in this article, the following table calculates the cost to download these blobs.

Note

This table excludes the archive tier because you can't download directly from that tier. See Blob rehydration from the archive tier.

Price factor Hot Cool Cold
Price of a single list operation (price/ 10,000) $0.0000055 $0.0000055 $0.0000065
Cost of listing operations (1 * operation price) $0.0000055 $0.0000050 $0.0000065
Price of a single other operation (price / 10,000) $0.00000044 $0.00000044 $0.00000052
Cost to get blob properties (1000 * operation price) $0.00044 $0.00044 $0.00052
Price of a single read operation (price / 10,000) $0.00000044 $0.000001 $0.00001
Cost of read operations (1000 * operation price) $0.00044 $0.001 $0.01
Price of data retrieval (per GiB) $0.00 $0.01 $0.03
Cost of data retrieval (5 * operation price) $0.00 $0.05 $0.15
Total cost (list + properties + read + retrieval) $0.001 $0.051 $0.161

Cost of downloading from the Data Lake Storage endpoint

If you download blobs from the Data Lake Storage endpoint, AzCopy uses the List Blobs to enumerate blobs. A List Blobs is billed as a List and create container operation. One List Blobs operation returns up to 5,000 blobs. Therefore, in this example, only one List Blobs operation is required.

For each blob, AzCopy uses the Get Blob Properties operation which is billed as an All other operations operation. AzCopy downloads each block (4 MiB in size) by using the Path - Read operation. Each Path - Read call is billed as a read operation.

If you download blobs from the cool or cold tier, you're also charged a data retrieval per GiB downloaded.

The following table calculates the number of write operations required to upload the blobs.

Calculation Value
Number of MiB in 5 GiB 5,120
Path - Update operations per blob (5,120 MiB / 4-MiB block) 1,280
Total read operations (1000 * 1,280) 1,280,000

Using the Sample prices that appear in this article, the following table calculates the cost to download these blobs.

Note

This table excludes the archive tier because you can't download directly from that tier. See Blob rehydration from the archive tier.

Price factor Hot Cool Cold
Price of a single list operation (price/ 10,000) $0.0000055 $0.0000055 $0.0000065
Cost of listing operations (1 * operation price) $0.0000055 $0.0000050 $0.0000065
Price of a single other operation (price / 10,000) $0.00000044 $0.00000044 $0.00000052
Cost to get blob properties (1000 * operation price) $0.00044 $0.00044 $0.00052
Price of a single read operation (price / 10,000) $0.00000060 $0.00000130 $0.00001300
Cost of read operations (1,281,000 * operation price) $0.73017 $1.6653 $16.653
Price of data retrieval (per GiB) $0.00000000 $0.01000000 $0.03000000
Cost of data retrieval (5 * operation price) $0.00 $0.05 $0.15
Total cost (list + properties + read + retrieval) $0.731 $1.716 $16.804

The cost to copy between containers

When you run the azcopy copy command, you'll specify a source and destination endpoint. These endpoints can be either a Blob Service endpoint (blob.core.windows.net) or a Data Lake Storage endpoint (dfs.core.windows.net) endpoint. This section calculates the cost to copy 1,000 blobs that are 5 GiB each in size.

Note

Blobs in the archive tier can be copied only to an online tier. Because all of these examples assume the same tier for source and destination, the archive tier is excluded from these tables.

Cost of copying blobs within the same account

Regardless of which endpoint you specify (Blob Service or Data Lake Storage), AzCopy uses the List Blobs to enumerate blobs at the source location. A List Blobs is billed as a List and create container operation. One List Blobs operation returns up to 5,000 blobs. Therefore, in this example, only one List Blobs operation is required.

For each blob, AzCopy uses the Get Blob Properties operation for both the source blob and the blob that is copied to the destination. The Get Blob Properties operation is billed as an All other operations operation. AzCopy uses the Copy Blob operation to copy blobs to another container which is billed as a write operation that is based on the destination tier.

Price factor Hot Cool Cold
Price of a single list operation (price/ 10,000) $0.0000055 $0.0000055 $0.0000065
Cost of listing operations (1 * operation price) $0.0000055 $0.0000055 $0.0000065
Price of a single other operations (price / 10,000) $0.00000044 $0.00000044 $0.00000052
Cost to get blob properties (2000 * operation price) $0.00088 $0.00088 $0.00104
Price of a single write operation (price / 10,000) $0.0000055 $0.00001 $0.000018
Cost to write (1000 * operation price) $0.0055 $0.01 $0.018
Total cost (listing + properties + write) $0.0064 $0.0109 $0.0190

Cost of copying blobs to another account in the same region

This scenario is identical to the previous one except that you're also billed for data retrieval and for read operation that is based on the source tier.

Price factor Hot Cool Cold
Total from previous section $0.0064 $0.0109 $0.0190
Price of a single read operation (price / 10,000) $0.00000044 $0.000001 $0.00001
Cost of read operations (1,000 * operation price) $0.00044 $0.001 $0.01
Price of data retrieval (per GiB) Free $0.01 $0.03
Cost of data retrieval 1000 * (5 * operation price) $0.00 $50.00 $150.00
Total cost (previous section + retrieval + read) $0.0068 $50.0119 $150.0290

Cost of copying blobs to an account located in another region

This scenario is identical to the previous one except you're billed for network egress charges.

Price factor Hot Cool Cold
Total cost from previous section $0.0068 $0.0619 $0.1719
Price of network egress (per GiB) $0.02 $0.02 $0.02
Total cost of network egress 1000 * (5 * price of egress) $100 $100 $100
Total cost (previous section + egress) $100.0068 $150.0119 $250.0290

The cost to synchronize changes

When you run the azcopy sync command, you'll specify a source and destination endpoint. These endpoints can be either a Blob Service endpoint (blob.core.windows.net) or a Data Lake Storage endpoint (dfs.core.windows.net) endpoint.

Note

Blobs in the archive tier can be copied only to an online tier. Because all of these examples assume the same tier for source and destination, the archive tier is excluded from these tables.

Cost to synchronize a container with a local file system

If you want to keep a container updated with changes to a local file system, then AzCopy performs the exact same tasks as described in the Cost of uploading to the Blob Service endpoint section in this article. Blobs are uploaded only if the last modified time of a local file is different than the last modified time of the blob in the container. Therefore, you're billed write transactions only for blobs that are uploaded.

If you want to keep a local file system updated with changes to a container, then AzCopy performs the exact same tasks as described in the Cost of downloading from the Blob Service endpoint section of this article. Blobs are downloaded only If the last modified time of a local blob is different than the last modified time of the blob in the container. Therefore, you're billed read transactions only for blobs that are downloaded.

Cost to synchronize containers

If you want to keep two containers synchronized, then AzCopy performs the exact same tasks as described in the The cost to copy between containers section in this article. A blob is copied only if the last modified time of a blob in the source container is different than the last modified time of a blob in the destination container. Therefore, you're billed write and read transactions only for blobs that are copied.

The azcopy sync command uses the List Blobs operation on both source and destination accounts when synchronizing containers that exist in separate accounts.

Summary of calculations

The following table contains all of the estimates presented in this article. All estimates are based on transferring 1000 blobs that are each 5 GiB in size and use the sample prices listed in the next section.

Scenario Hot Cool Cold Archive
Upload blobs (Blob Service endpoint) $3.53 $6.41 $11.54 $3.53
Upload blobs (Data Lake Storage endpoint) $9.22 $16.65 $29.98 $18.32
Download blobs (Blob Service endpoint) $0.001 $0.051 $0.161 N/A
Download blobs (Data Lake Storage endpoint) $0.731 $1.716 $16.804 N/A
Copy blobs $0.064 $0.0109 $0.0190 N/A
Copy blobs to another account $0.0068 $50.0119 $150.0290 N/A
Copy blobs to an account in another region $100.0068 $150.0119 $250.0290 N/A

Sample prices

The following table includes sample (fictitious) prices for each request to the Blob Service endpoint (blob.core.windows.net).

Important

These prices are meant only as examples, and shouldn't be used to calculate your costs. For official prices, see the Azure Blob Storage pricing or Azure Data Lake Storage pricing pages. For more information about how to choose the correct pricing page, see Understand the full billing model for Azure Blob Storage.

Price factor Hot Cool Cold Archive
Price of write operations (per 10,000) $0.055 $0.10 $0.18 $0.11
Price of read operations (per 10,000) $0.0044 $0.01 $0.10 $5.50
List and container operations (per 10,000) $0.055 $0.055 $0.065 $.055
All other operations (per 10,000) $0.0044 $0.0044 $0.0052 $.0044
Price of data retrieval (per GB) Free $0.01 $0.03 $.022
Price of Data storage first 50 TB (pay-as-you-go) $0.0208 $0.0115 $0.0045 $0.002
Price of Data storage next 450 TB (pay-as-you-go) $0.020 $0.0115 $0.0045 $0.002
Price of 100 TB (One-year reserved capacity) $1,747 $966 Not available $183
Price of 100 TB (Three-year reserved capacity) $1,406 $872 Not available $168
Network bandwidth between regions within North America (per GB) $0.02 $0.02 $0.02 $0.02
Price of high priority read operations (per 10,000) Not applicable Not applicable Not applicable $65.00
Price of high priority data retrieval (per GB) Not applicable Not applicable Not applicable $0.13

The following table includes sample prices (fictitious) prices for each request to the Data Lake Storage endpoint (dfs.core.windows.net). For official prices, see Azure Data Lake Storage pricing.

Price factor Hot Cool Cold Archive
Price of write operations (every 4 MiB, per 10,000) $0.07120 $0.13 $0.234 $0.143
Price of read operations (every 4 MiB, per 10,000) $0.0057 $0.013 $0.13 $7.15
Iterative write operations (per 100) $0.0715 $0.0715 $0.0715 $0.0715
Iterative read operations (per 10,000) $0.0715 $0.0715 $0.0845 $0.0715
Price of data retrieval (per GB) Free $0.01 $0.03 $0.022
Network bandwidth between regions within North America (per GB) $0.02 $0.02 $0.02 $0.02
Data storage prices first 50 TB (pay-as-you-go) $0.021 $0.012 $0.0045 $0.002
Data storage prices next 450 TB (pay-as-you-go) $0.020 $0.012 $0.0045 $0.002
Price of 100 TB (One-year reserved capacity) $1,747 $966 Not available $183
Price of 100 TB (Three-year reserved capacity) $1,406 $872 Not available $168
Price of high priority read operations (per 10,000) Not applicable Not applicable Not applicable $84.50
Price of high priority data retrieval (per GB) Not applicable Not applicable Not applicable $0.13
Index (GB / month) $0.0297 Not applicable Not applicable Not applicable

See also