azurerm_storage_container cost estimation
A blob container is free. It is a namespace for blobs, not a billed resource. The cost is the blobs inside it and the transactions against them on the parent storage account.
An azurerm_storage_container is a logical grouping for blobs within a storage account, similar to a top-level folder. The container is free. Azure does not charge for creating containers or for the number of containers in an account; billing is entirely on the blob data and operations they hold.
Because a container is just a namespace, its cost is the sum of the blobs inside it. Those blobs drive the parent azurerm_storage_account's meters: capacity per GB-month by access tier, transactions per 10,000 operations, and egress per GB when data leaves the region. Listing the contents of a container is itself a transaction, so an application that lists a large container frequently generates operation charges even without downloading data. The container's public access setting (private, blob, or container) affects security and egress exposure but not the base price.
There is nothing to optimize on the container itself. The useful practice is to organize containers so that lifecycle rules can target them cleanly, letting a management policy tier or expire an entire prefix of aging data. c3x prices the storage account capacity and transactions the container's blobs drive and treats the container as a free namespace.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "azurerm_resource_group" "main" {
name = "storage-rg"
location = "eastus"
}
resource "azurerm_storage_account" "main" {
name = "appstore2026"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
account_tier = "Standard"
account_replication_type = "LRS"
}
resource "azurerm_storage_container" "assets" {
name = "assets"
storage_account_name = azurerm_storage_account.main.name
container_access_type = "private"
}Pricing dimensions
What you actually pay for when you provision azurerm_storage_container.
| Dimension | Unit | What's being charged |
|---|---|---|
| Container | free | The container namespace and the number of containers have no charge. $0 |
| Blob capacity inside the container | per GB-month | Bytes stored across the blobs in the container, priced by tier and redundancy on the account. |
| Transactions | per 10,000 operations | Reads, writes, and list operations against the container's blobs, billed on the parent account. |
Optimization tips
Common ways to reduce azurerm_storage_container cost without changing the workload.
Organize containers for lifecycle targeting
Grouping data so a management policy can tier or expire an entire container or prefix keeps aging data out of the expensive Hot tier automatically.
Avoid frequent full-container listings
Listing a large container is a metered operation. Track blob names in your application or use prefixes so you list narrowly rather than enumerating everything repeatedly.
Keep public access private unless needed
A container set to public blob or container access can invite unmetered read traffic that drives egress. Keep it private and serve through a controlled path where possible.
FAQ
Does an Azure storage container cost money?
No. Containers are free namespaces for blobs. You pay on the parent storage account for the blobs inside them: capacity per GB-month, transactions per 10,000 operations, and egress per GB.
Is there a charge per container?
No. There is no per-container fee and no cap that carries a price. Cost scales with the data and operations of the blobs the container holds, not the container count.
Do container listings cost money?
Yes, indirectly. A list operation is a billed transaction on the storage account. Frequently listing a large container generates operation charges even without downloading any blob data.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_storage_container.