【问题标题】:Azure bicep Storage Account loop blobs errorAzure 二头肌存储帐户循环 blob 错误
【发布时间】:2021-09-27 13:00:51
【问题描述】:

我有这个脚本来循环存储帐户数组并使用一些默认配置创建它们。

param storageAccounts array = [
  'storage2312'
  'storage2we1'
]

resource storage_Accounts 'Microsoft.Storage/storageAccounts@2021-04-01' = [ for storageName in storageAccounts :{
  name: storageName
  location: 'westeurope'
  sku: {
    name: 'Standard_RAGRS'
  }
  kind: 'StorageV2'
  properties: {
    allowCrossTenantReplication: true
    minimumTlsVersion: 'TLS1_2'
    allowBlobPublicAccess: false
    allowSharedKeyAccess: true
    networkAcls: {
      bypass: 'AzureServices'
      virtualNetworkRules: []
      ipRules: []
      defaultAction: 'Allow'
    }
    supportsHttpsTrafficOnly: true
    encryption: {
      services: {
        file: {
          keyType: 'Account'
          enabled: true
        }
        blob: {
          keyType: 'Account'
          enabled: true
        }
      }
      keySource: 'Microsoft.Storage'
    }
    accessTier: 'Hot'
  }
}]
resource storage_Accounts_name_default 'Microsoft.Storage/storageAccounts/blobServices@2021-04-01' = [ for (storageName, i) in storageAccounts :{
  parent: storage_Accounts[i]
  name: storageName
  properties: {
    changeFeed: {
      enabled: false
    }
    restorePolicy: {
      enabled: false
    }
    containerDeleteRetentionPolicy: {
      enabled: true
      days: 7
    }
    cors: {
      corsRules: []
    }
    deleteRetentionPolicy: {
      enabled: true
      days: 30
    }
    isVersioningEnabled: true
  }
}]

脚本运行良好,存储帐户已创建,但脚本最后抛出以下错误:

{"status":"Failed","error":{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"NotFound","message":"{\r\n  \"error\": {\r\n    \"code\": \"HttpResourceNotFound\",\r\n    \"message\": \"The request url resourcegroups/storageAccounts/providers/Microsoft.Storage/storageAccounts/storage2we1/blobServices/storage2we1?api-version=2021-04-01 is not found.\"\r\n  }\r\n}"},{"code":"NotFound","message":"{\r\n  \"error\": {\r\n    \"code\": \"HttpResourceNotFound\",\r\n    \"message\": \"The request url /resourcegroups/storageAccounts/providers/Microsoft.Storage/storageAccounts/storage2312/blobServices/storage2312?api-version=2021-04-01 is not found.\"\r\n  }\r\n}"}]}}

手动创建存储帐户时,我将$logs 作为默认容器,但是当我运行脚本并创建存储帐户时,在容器下我什么都没有,我认为错误是因为那个。 使用二头肌我必须声明默认容器吗? 欢迎任何帮助和解释。

非常感谢

【问题讨论】:

    标签: azure azure-devops azure-bicep


    【解决方案1】:

    根据here 提供的示例,请更改以下代码行(在您配置 blob 服务的第二个 sn-p 中):

    name: storageName
    

    name: 'default'
    

    如此有效,您的二头肌模板将类似于:

    param storageAccounts array = [
      'storage2'
    ]
    resource storage_Accounts 'Microsoft.Storage/storageAccounts@2021-04-01' = [ for storageName in storageAccounts :{
      name: storageName
      location: 'westeurope'
      sku: {
        name: 'Standard_RAGRS'
        tier: 'Standard'
      }
      kind: 'StorageV2'
      properties: {
        allowCrossTenantReplication: true
        minimumTlsVersion: 'TLS1_2'
        allowBlobPublicAccess: false
        allowSharedKeyAccess: true
        networkAcls: {
          bypass: 'AzureServices'
          virtualNetworkRules: []
          ipRules: []
          defaultAction: 'Allow'
        }
        supportsHttpsTrafficOnly: true
        encryption: {
          services: {
            file: {
              keyType: 'Account'
              enabled: true
            }
            blob: {
              keyType: 'Account'
              enabled: true
            }
          }
          keySource: 'Microsoft.Storage'
        }
        accessTier: 'Hot'
      }
    }]
    
    resource storage_Accounts_name_default 'Microsoft.Storage/storageAccounts/blobServices@2021-04-01' = [ for (storageName, i) in storageAccounts :{
      parent: storage_Accounts[i]
      name: 'default'
      properties: {
        changeFeed: {
          enabled: false
        }
        restorePolicy: {
          enabled: false
        }
        containerDeleteRetentionPolicy: {
          enabled: true
          days: 7
        }
        cors: {
          corsRules: []
        }
        deleteRetentionPolicy: {
          enabled: true
          days: 30
        }
        isVersioningEnabled: true
      }
    }]
    

    【讨论】:

    • 那行得通,你是对的。非常感谢 Gaurav。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2022-10-13
    • 1970-01-01
    • 2022-11-11
    • 2023-02-22
    相关资源
    最近更新 更多