Managing blob access tiers at scale can be challenging, especially when a storage account contains a large number of blobs spread across containers and virtual directories. Traditionally, changing blob tiers in bulk may require scripts, automation runbooks, or custom tooling to iterate through each blob and update its access tier individually.
Azure Storage Actions provide a no-code way to perform bulk operations on blobs based on defined conditions. This makes it easier to move blobs between tiers such as Hot, Cool, Cold, or Archive without writing custom scripts.
In this blog, we present a no-code solution for bulk changing blob access tiers using Azure Storage Actions. This approach is especially useful when dealing with a large number of blobs, eliminating the need for custom scripts. Additionally, it allows you to apply multiple filters so that only the required blobs are moved to the intended tier.
Azure Storage Actions offer an efficient solution for changing blob access tiers in bulk. Below are the steps to use this feature effectively:
Search for Azure Storage Actions in the Azure portal.
- Search for Azure Storage Actions in the Azure portal.
- On the left menu, select Storage Tasks.
- Click + Create.
Open Storage Tasks and start creating a new storage task.
- Select the subscription where the target Storage Account is located.
- Select or create a resource group.
- Enter a Storage task name.
- Select the same region as the target Storage Account.
Configure the basic project and instance details.
- Click Next > to continue.
Configure the condition and operation
Using the Visual builder in the If section:
- Set the Blob property to Access tier.
- Set the operator to target the required source tier, such as Equals or Not equal to.
- Set the Property value to the source tier you want to target, such as Hot, Cool, Cold, or Archive.
In the Then section:
- Set the Operation to Set blob tier.
- Set the target tier to the desired value, such as Cool.
- Click Next > to continue.
Example: To move all blobs that are not already in the Cool tier, configure the condition as Access tier Not equal to Cool and set the operation to Set blob tier = Cool.
Configure the visual builder to target blobs by access tier and set the destination tier.
Add the assignment
- In the Assignments tab, click + Add Assignment.
Add an assignment for the storage task.
In the Add Assignment blade:
- Select the Subscription where the target Storage Account is located.
- Select the target Storage Account.
- Provide an assignment name.
- Select the role to be Storage Blob Data Owner, or any role that grants the required access to blobs and tags. NOTE: Full access to blobs only may result in a 403 error.
- If filtering the blobs to update, select Blob prefix and enter a prefix that starts from the container name onward. Otherwise, select Do not filter.
- Select Single run (only once) as the Run frequency.
- Select or create a container for the Report export container.
- Click Add to finish the assignment creation.
Configure assignment scope, permissions, filtering, trigger details, and report export.
Back in the Assignments tab, click Next > to continue.
Continue from the assignment configuration.
Add tags if needed. Click Next > to continue.
Click Review + create to create the Storage Task.
Review and create the storage task.
This will redirect to the Deployment blade. Wait for deployment to be completed.
Click Go to resource to navigate to the Storage Action overview.
Open the created storage task after deployment completes.
Run the storage task
- In the left menu, click Assignments.
- Select the assignment that was created and click Enable to begin changing blob tiers.
Enable the assignment to start the storage task run.
Once the task runs and completes, the selected blobs should have their access tier changed according to the conditions and target tier selected.
You can also access execution reports for the storage task, which provide detailed insights into the operation performed on each targeted object. For more information on execution reports, refer to Analyze storage task runs – Azure Storage Actions Preview | Microsoft Learn.
Yes, I think the blog is in good shape to publish. The main thing I would add is a cost consideration/warning immediately before the “Run the storage task” section, because that is the point where enabling the assignment can trigger changes across many blobs.
Cost considerations
Before running a storage task that changes blob access tiers at scale, consider the potential cost implications. While moving data to cooler tiers can reduce storage costs, tier changes can incur transaction charges, data retrieval charges in certain scenarios, and early deletion charges if blobs are moved or deleted before the minimum retention period for their current tier has elapsed. This is particularly important when moving large amounts of data or working with the Archive tier, where rehydration also has associated costs. Before enabling the assignment, review the scope and filters carefully and estimate the expected cost impact. For more information, see Access tiers for blob data – Azure Storage | Microsoft Learn and Plan and manage costs for Azure Blob Storage | Microsoft Learn
Conclusion
Azure Storage Actions provides a simple and efficient way to change blob access tiers in bulk without writing scripts or managing custom automation. By using conditions such as the current access tier, blob prefix, or other supported filters, you can target only the blobs that need to be updated and apply the desired tier at scale.


