阵列内的 Arm 模板副本

Arm Template copy inside array

我想将一组电子邮件添加到 ActionGroup。在 ARM 模板中,我提供了电子邮件数组:

    "parameters": {
        "actionGroup_emails":{
            "type": "array"
        }
    },

然后在 ActionGroup 资源中,我迭代 emailReceivers 属性 中的电子邮件以创建收件人:

{
            "type": "microsoft.insights/actionGroups",
            "apiVersion": "2019-03-01",
            "name": "[variables('appInsights_actionGroup_name')]",
            "location": "Global",
            "properties": {
                "groupShortName": "EmailAg",
                "enabled": true,
                "emailReceivers": [
                    {
                        "name": "[concat(split(parameters('actionGroup_emails'),'@')[0],'_EmailAction')] ",
                        "emailAddress": "[parameters('actionGroup_emails')[copyIndex()]]",
                        "useCommonAlertSchema": false,
                        "copy":{
                            "name":"emails",
                            "count":"[length(parameters('actionGroup_emails'))]"
                        }
                    }
                ]
            }
        },

据我所知,我不能这样做,因为我没有按照文档 here and here 迭代资源和 属性。所以我很困惑:/

如果你只是像你说的那样传递一个字符串数组,你需要这样做:

"properties": {
    "copy": [
         {
             "name": "emailReceivers",
             "count": "[length(parameters('actionGroup_emails'))]",
             "input": {
                 "name": "[concat(split(parameters('actionGroup_emails'),'@')[0],'_EmailAction')] ",
                 "emailAddress": "[parameters('actionGroup_emails')[copyIndex()]]",
                 "useCommonAlertSchema": false
             }
         }
     ]
}