ARM模板数组参数
ARM template array parameter
我有一个带有 Web 应用警报规则的 ARM 模板,我希望能够在其中配置哪些电子邮件收到警报。
电子邮件提醒操作的片段是这样的:
"action": {
"odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
"sendToServiceOwners": false,
"customEmails": [
"email1@example.com",
"email2@example.com"
]
}
相同的模板用于设置生产、测试和开发环境。所以我想为电子邮件警报使用一个参数。
如何根据逗号分隔字符串或数组类型参数生成用作 "customEmails"
属性 的数组?
我试过了"customEmails": "[array(parameters('AlertEmailRecipients'))]"
,还有
"customEmails": [
[array(parameters('AlertEmailRecipients'))]
]
但都不起作用。我不知道如何告诉它 "customEmails" 属性 值应该来自参数。
我找到了解决办法。主要问题是我的逗号分隔电子邮件地址列表在每个逗号后有一个 space。
我现在实现的方式是这样的:
用逗号分隔的电子邮件地址列表定义字符串参数。 列表中没有 space。
像这样定义一个变量:
"customEmails" : "[split(parameters('AlertEmailRecipients'), ',')]"
然后在警报操作中引用该变量:
"action": {
"odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
"sendToServiceOwners": false,
"customEmails": "[variables('customEmails')]"
}
example 实际上是这样做的,但没有明确指出电子邮件列表不能包含 spaces。
我使用了以下数组参数:
参数声明:
"customEmails": {
"type": "array",
"metadata": {
"description": "alert email addressess"
}
}
在参数文件中:
"customEmails": {
"value": [
"email1@domain.com",
"email2@domain.com"
]
}
用法:
"customEmails": "[parameters('customEmails')]"
我有一个带有 Web 应用警报规则的 ARM 模板,我希望能够在其中配置哪些电子邮件收到警报。
电子邮件提醒操作的片段是这样的:
"action": {
"odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
"sendToServiceOwners": false,
"customEmails": [
"email1@example.com",
"email2@example.com"
]
}
相同的模板用于设置生产、测试和开发环境。所以我想为电子邮件警报使用一个参数。
如何根据逗号分隔字符串或数组类型参数生成用作 "customEmails"
属性 的数组?
我试过了"customEmails": "[array(parameters('AlertEmailRecipients'))]"
,还有
"customEmails": [
[array(parameters('AlertEmailRecipients'))]
]
但都不起作用。我不知道如何告诉它 "customEmails" 属性 值应该来自参数。
我找到了解决办法。主要问题是我的逗号分隔电子邮件地址列表在每个逗号后有一个 space。
我现在实现的方式是这样的:
用逗号分隔的电子邮件地址列表定义字符串参数。 列表中没有 space。
像这样定义一个变量:
"customEmails" : "[split(parameters('AlertEmailRecipients'), ',')]"
然后在警报操作中引用该变量:
"action": {
"odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
"sendToServiceOwners": false,
"customEmails": "[variables('customEmails')]"
}
example 实际上是这样做的,但没有明确指出电子邮件列表不能包含 spaces。
我使用了以下数组参数:
参数声明:
"customEmails": {
"type": "array",
"metadata": {
"description": "alert email addressess"
}
}
在参数文件中:
"customEmails": {
"value": [
"email1@domain.com",
"email2@domain.com"
]
}
用法:
"customEmails": "[parameters('customEmails')]"