首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套资源的嵌套资源

嵌套资源的嵌套资源
EN

Stack Overflow用户
提问于 2022-02-24 12:05:16
回答 1查看 235关注 0票数 0

我正在构建一个ARM模板,它创建了多个存储帐户,每个帐户都将包含多个容器“blobs”,但显然仍然不支持。除了分别指定每个方法之外,还有其他方法可以做到这一点吗?

我想要实现的目标的示例:

StorageAcct_1:必须包含10个块StorageAcct_2 :必须包含6个blobs

如果不复制我的存储帐户和容器模板,我就无法做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-25 15:59:15

您可以这样做-有多种方法(嵌套,内联,变量循环),它实际上取决于您希望代码的外观和您的输入格式是.但是一个简单的n*m循环可以使用以下内容:

代码语言:javascript
复制
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "numberOfAccounts": 2,
    "blobsPerAccount": 3,
    "saprefix": "[uniqueString(resourceGroup().id)]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-08-01",
      "name": "[format('{0}{1}', variables('saprefix'), copyIndex())]",
      "location": "[resourceGroup().location]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "copy": {
        "name": "storageAccountLoop",
        "count": "[variables('numberOfAccounts')]"
      }
    },

    {
      "type": "Microsoft.Storage/storageAccounts/blobServices",
      "apiVersion": "2021-08-01",
      "name": "[format('{0}{1}/default', variables('saprefix'), copyIndex())]",
      "copy": {
        "name": "blobServiceLoop",
        "count": "[variables('numberOfAccounts')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts', format('{0}{1}', variables('saprefix'), copyIndex()))]"
      ]
    },
    {
      "type": "Microsoft.Storage/storageAccounts/blobServices/containers",
      "apiVersion": "2021-08-01",
      "name": "[format('{0}{1}/{2}/{3}{4}', variables('saprefix'), mod(copyIndex(), variables('numberOfAccounts')), 'default', 'container', mod(copyIndex(), variables('blobsPerAccount')))]",
      "copy": {
        "name": "containerLoop",
        "count": "[mul(variables('numberOfAccounts'), variables('blobsPerAccount'))]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts', format('{0}{1}', variables('saprefix'), mod(copyIndex(), variables('numberOfAccounts'))))]",
        "[resourceId('Microsoft.Storage/storageAccounts/blobServices', format('{0}{1}', variables('saprefix'), mod(copyIndex(), variables('numberOfAccounts'))), 'default')]"
      ]
    }
  ]
}

有帮助吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71251689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档