ARM templates are a great way to programmatically deploy your Azure resources. They act as declarative descriptions of the desired state of an Azure resource group, and while they can be frustrating to work with, overall the ability to use templates to deploy your Azure resources provides a lot of value.
One common frustration with ARM templates is that certain resource types simply can’t be deployed with them. Until recently, one such resource type was a blob container. ARM templates could deploy Azure Storage accounts, but not blob containers, queues, or tables within them.
That has now changed, and it’s possible to deploy a blob container through an ARM template. Here’s an example template that deploys a container called logs
within a storage account:
Queues and tables still can’t be deployed this way, though – hopefully that’s coming soon.
Thanks for the template – works fine. You’ve mentioned queues and table, but what about files?
Azure Files have REST Api, but nowhere any examples or templates, is it possible to deploy via arm?
Hi Aleksi, thanks for the question. Even though Azure Storage has a REST API, this doesn’t indicate the same features are compatible with ARM templates unfortunately. ARM templates for storage are (more or less) driven off the Storage Resource Provider API, which is distinct from the standard Storage API. The docs on this are here: https://docs.microsoft.com/en-us/rest/api/storagerp/
Sadly the Storage Resource Provider API doesn’t work with file containers, queues, or tables yet. I’m hoping these will be added but I have no information one way or the other currently.