# 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 } } ```