Skip to content

Commit 076d03f

Browse files
authored
Merge pull request #250480 from normesta/cost-management
Article that maps operations to operation types
2 parents b98f080 + 21acbc2 commit 076d03f

File tree

3 files changed

+117
-1
lines changed

3 files changed

+117
-1
lines changed

articles/storage/blobs/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,8 @@ items:
243243
items:
244244
- name: Plan and manage costs
245245
href: ../common/storage-plan-manage-costs.md?toc=/azure/storage/blobs/toc.json&bc=/azure/storage/blobs/breadcrumb/toc.json
246+
- name: Map each REST operation to a price
247+
href: map-rest-apis-transaction-categories.md
246248
- name: Azure Storage reserved capacity
247249
href: storage-blob-reserved-capacity.md
248250
- name: Estimate the cost to archive data
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
title: Map each REST operation to a price - Azure Blob Storage
3+
description: Find the operation type of each REST operation so that you can identify the price of an operation.
4+
services: storage
5+
author: normesta
6+
ms.service: azure-blob-storage
7+
ms.topic: conceptual
8+
ms.date: 09/25/2023
9+
ms.author: normesta
10+
ms.custom: subject-cost-optimization
11+
---
12+
13+
# Map each REST operation to a price
14+
15+
This article helps you find the price of each REST operation that clients can execute against the Azure Blob Storage service.
16+
17+
Each request made by tools such as AzCopy or Azure Storage Explorer arrives to the service in the form of a REST operation. This is also true for a custom application that leverages an Azure Storage Client library.
18+
19+
To determine the price of each operation, you must first determine how that operation is classified in terms of its _type_. That's because the pricing pages list prices only by operation type and not by each individual operation. Use the tables in this article as a guide.
20+
21+
## Operation type of each Blob Storage REST operation
22+
23+
The following table maps each Blob Storage REST operation to an operation type.
24+
25+
The price of each type appears in the [Azure Blob Storage pricing](https://azure.microsoft.com/pricing/details/storage/blobs/) page.
26+
27+
| Operation | Premium block blob | Standard general-purpose v2 | Standard general-purpose v1 |
28+
|-------------------------------------------------------------------------------------------|---------------------------|-----------------------------|-----------------------------|
29+
| [List Containers](/rest/api/storageservices/list-containers2) | List and create container | List and create container | List and create container |
30+
| [Set Blob Service Properties](/rest/api/storageservices/set-blob-service-properties) | Other | Other | Write |
31+
| [Get Blob Service Properties](/rest/api/storageservices/get-blob-service-properties) | Other | Other | Read |
32+
| [Preflight Blob Request](/rest/api/storageservices/preflight-blob-request) | Other | Other | Read |
33+
| [Get Blob Service Stats](/rest/api/storageservices/get-blob-service-stats) | Other | Other | Read |
34+
| [Get Account Information](/rest/api/storageservices/get-account-information) | Other | Other | Read |
35+
| [Get User Delegation Key](/rest/api/storageservices/get-user-delegation-key) | Other | Other | Read |
36+
| [Create Container](/rest/api/storageservices/create-container) | List and create container | List and create container | List and create container |
37+
| [Get Container Properties](/rest/api/storageservices/get-container-properties) | Other | Other | Read |
38+
| [Get Container Metadata](/rest/api/storageservices/get-container-metadata) | Other | Other | Read |
39+
| [Set Container Metadata](/rest/api/storageservices/set-container-metadata) | Other | Other | Write |
40+
| [Get Container ACL](/rest/api/storageservices/get-container-acl) | Other | Other | Read |
41+
| [Set Container ACL](/rest/api/storageservices/set-container-acl) | Other | Other | Write |
42+
| [Delete Container](/rest/api/storageservices/delete-container) | Free | Free | Free |
43+
| [Lease Container](/rest/api/storageservices/lease-container) (acquire, release, renew) | Other | Other | Read |
44+
| [Lease Container](/rest/api/storageservices/lease-container) (break, change) | Other | Other | Write |
45+
| [Restore Container](/rest/api/storageservices/restore-container) | List and create container | List and create container | List and create container |
46+
| [List Blobs](/rest/api/storageservices/list-blobs) | List and create container | List and create container | List and create container |
47+
| [Find Blobs by Tags in Container](/rest/api/storageservices/find-blobs-by-tags-container) | List and create container | List and create container | List and create container |
48+
| [Put Blob](/rest/api/storageservices/put-blob) | Write | Write | Write |
49+
| [Put Blob from URL](/rest/api/storageservices/put-blob-from-url) | Write | Write | Write |
50+
| [Get Blob](/rest/api/storageservices/get-blob) | Read | Read | Read |
51+
| [Get Blob Properties](/rest/api/storageservices/get-blob-properties) | Other | Other | Read |
52+
| [Set Blob Properties](/rest/api/storageservices/set-blob-properties) | Other | Other | Write |
53+
| [Get Blob Metadata](/rest/api/storageservices/get-blob-metadata) | Other | Other | Read |
54+
| [Set Blob Metadata](/rest/api/storageservices/set-blob-metadata) | Other | Other | Write |
55+
| [Get Blob Tags](/rest/api/storageservices/get-blob-tags) | Other | Other | Read |
56+
| [Set Blob Tags](/rest/api/storageservices/set-blob-tags) | Other | Other | Write |
57+
| [Find Blobs by Tags](/rest/api/storageservices/find-blobs-by-tags) | List and create container | List and create container | List and create container |
58+
| [Lease Blob](/rest/api/storageservices/find-blobs-by-tags) (acquire, release, renew) | Other | Other | Read |
59+
| [Lease Blob](/rest/api/storageservices/find-blobs-by-tags) (break, change) | Other | Other | Write |
60+
| [Snapshot Blob](/rest/api/storageservices/snapshot-blob) | Other | Other | Read |
61+
| [Copy Blob](/rest/api/storageservices/copy-blob) | Write | Write | Write |
62+
| [Copy Blob from URL](/rest/api/storageservices/copy-blob-from-url) | Write | Write | Write |
63+
| [Abort Copy Blob](/rest/api/storageservices/abort-copy-blob) | Other | Other | Write |
64+
| [Delete Blob](/rest/api/storageservices/delete-blob) | Free | Free | Free |
65+
| [Undelete Blob](/rest/api/storageservices/undelete-blob) | Write | Write | Write |
66+
| [Set Blob Tier](/rest/api/storageservices/set-blob-tier) (tier down) | Write | Write | Write |
67+
| [Set Blob Tier](/rest/api/storageservices/set-blob-tier) (tier up) | Read | Read | Read |
68+
| [Blob Batch](/rest/api/storageservices/blob-batch) (Set Blob Tier) | Other | Other | Other |
69+
| [Set Immutability Policy](/rest/api/storageservices/set-blob-immutability-policy) | Other | Other | Other |
70+
| [Delete Immutability Policy](/rest/api/storageservices/delete-blob-immutability-policy) | Other | Other | Other |
71+
| [Set Legal Hold](/rest/api/storageservices/set-blob-legal-hold) | Other | Other | Other |
72+
| [Put Block](/rest/api/storageservices/put-block-list) | Write | Write | Write |
73+
| [Put Block from URL](/rest/api/storageservices/put-block-from-url) | Write | Write | Write |
74+
| [Put Block List](/rest/api/storageservices/put-block-list) | Write | Write | Write |
75+
| [Get Block List](/rest/api/storageservices/get-block-list) | Other | Other | Read |
76+
| [Query Blob Contents](/rest/api/storageservices/query-blob-contents) | Read<sup>1</sup> | Read<sup>1</sup> | N/A |
77+
| [Incremental Copy Blob](/rest/api/storageservices/incremental-copy-blob) | Other | Other | Write |
78+
| [Append Block](/rest/api/storageservices/append-block) | Write | Write | Write |
79+
| [Append Block from URL](/rest/api/storageservices/append-block-from-url) | Write | Write | Write |
80+
| [Append Blob Seal](/rest/api/storageservices/append-blob-seal) | Write | Write | Write |
81+
| [Set Blob Expiry](/rest/api/storageservices/set-blob-expiry) | Other | Other | Write |
82+
83+
<sup>1</sup> In addition to a read charge, charges are incurred for the **Query Acceleration - Data Scanned**, and **Query Acceleration - Data Returned** transaction categories that appear on the [Azure Data Lake Storage pricing](https://azure.microsoft.com/pricing/details/storage/data-lake/) page.
84+
85+
## Operation type of each Data Lake Storage Gen2 REST operation
86+
87+
The following table maps each Data Lake Storage Gen2 REST operation to an operation type.
88+
89+
The price of each type appears in the [Azure Data Lake Storage pricing](https://azure.microsoft.com/pricing/details/storage/data-lake/) page.
90+
91+
| Operation | Premium block blob | Standard general-purpose v2 |
92+
|--------------------------------------------------------------------------------------------------------|--------------------|-----------------------------|
93+
| [Filesystem - Create](/rest/api/storageservices/datalakestoragegen2/filesystem/create) | Write | Write |
94+
| [Filesystem - Delete](/rest/api/storageservices/datalakestoragegen2/filesystem/delete) | Free | Free |
95+
| [Filesystem - Get Properties](/rest/api/storageservices/datalakestoragegen2/filesystem/get-properties) | Other | Other |
96+
| [Filesystem - List](/rest/api/storageservices/datalakestoragegen2/filesystem/list) | Iterative Read | Iterative Read |
97+
| [Filesystem - Set Properties](/rest/api/storageservices/datalakestoragegen2/filesystem/set-properties) | Write | Write |
98+
| [Path - Create](/rest/api/storageservices/datalakestoragegen2/path/create) | Write | Write |
99+
| [Path - Delete](/rest/api/storageservices/datalakestoragegen2/path/delete) | Free | Free |
100+
| [Path - Get Properties](/rest/api/storageservices/datalakestoragegen2/path/get-properties) | Read | Read |
101+
| [Path - Lease](/rest/api/storageservices/datalakestoragegen2/path/lease) | Other | Other |
102+
| [Path - List](/rest/api/storageservices/datalakestoragegen2/path/list) | Iterative Read | Iterative Read |
103+
| [Path - Read](/rest/api/storageservices/datalakestoragegen2/path/read) | Read | Read |
104+
| [Path - Update](/rest/api/storageservices/datalakestoragegen2/path/update) | Write | Write |
105+
106+
## See also
107+
108+
- [Plan and manage costs for Azure Blob Storage](../common/storage-plan-manage-costs.md)

articles/storage/common/storage-plan-manage-costs.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: storage
55
author: normesta
66
ms.service: azure-storage
77
ms.topic: conceptual
8-
ms.date: 04/03/2023
8+
ms.date: 09/07/2023
99
ms.author: normesta
1010
ms.subservice: storage-common-concepts
1111
ms.custom: subject-cost-optimization
@@ -110,6 +110,12 @@ The correct pricing page for these requests is the [Azure Data Lake Storage Gen2
110110

111111
If your account does not have the hierarchical namespace feature enabled, but you expect clients, workloads, or applications to make requests over the Data Lake Storage endpoint of your account, then set the **File Structure** drop-down list to **Flat Namespace**. Otherwise, make sure that it is set to **Hierarchical Namespace**.
112112

113+
#### Find the price of each operation
114+
115+
Each request made by tools such as AzCopy or Azure Storage Explorer arrives to the service in the form of a REST operation. This is also true for a custom application that leverages an Azure Storage Client library.
116+
117+
To determine the price of each operation, you must first determine how that operation is classified in terms of its _type_. That's because the pricing pages list prices only by operation type and not by each individual operation. To see how each operation maps to an operation type, see [Map each REST operation to a price](../blobs/map-rest-apis-transaction-categories.md).
118+
113119
### Using Azure Prepayment with Azure Blob Storage
114120

115121
You can pay for Azure Blob Storage charges with your Azure Prepayment (previously called monetary commitment) credit. However, you can't use Azure Prepayment credit to pay for charges for third party products and services including those from the Azure Marketplace.

0 commit comments

Comments
 (0)