Storage - Bicep Patterns
Storage Account
bicep
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = \{
name: '${resourcePrefix}stor${uniqueHash\}'
location: location
sku: \{
name: 'Standard_LRS'
\}
kind: 'StorageV2'
properties: \{
accessTier: 'Hot'
allowBlobPublicAccess: false
minimumTlsVersion: 'TLS1_2'
supportsHttpsTrafficOnly: true
\}
\}Blob Container
bicep
resource blobService 'Microsoft.Storage/storageAccounts/blobServices@2023-01-01' = \{
parent: storageAccount
name: 'default'
properties: \{
deleteRetentionPolicy: \{
enabled: true
days: 7
\}
\}
\}
resource container 'Microsoft.Storage/storageAccounts/blobServices/containers@2023-01-01' = \{
parent: blobService
name: 'uploads'
properties: \{
publicAccess: 'None'
\}
\}Queue
bicep
resource queueService 'Microsoft.Storage/storageAccounts/queueServices@2023-01-01' = \{
parent: storageAccount
name: 'default'
\}
resource queue 'Microsoft.Storage/storageAccounts/queueServices/queues@2023-01-01' = \{
parent: queueService
name: 'orders'
\}Table
bicep
resource tableService 'Microsoft.Storage/storageAccounts/tableServices@2023-01-01' = \{
parent: storageAccount
name: 'default'
\}
resource table 'Microsoft.Storage/storageAccounts/tableServices/tables@2023-01-01' = \{
parent: tableService
name: 'logs'
\}File Share
bicep
resource fileService 'Microsoft.Storage/storageAccounts/fileServices@2023-01-01' = \{
parent: storageAccount
name: 'default'
\}
resource fileShare 'Microsoft.Storage/storageAccounts/fileServices/shares@2023-01-01' = \{
parent: fileService
name: 'shared'
properties: \{
shareQuota: 100 // GB
\}
\}