Я хотел бы иметь возможность передавать встроенный объект в качестве значения параметра в связанный шаблон. Вариант использования: у меня есть шаблон, который развертывает служебную шину (или какой-либо другой ресурс), и шаблон, который развертывает веб-приложение. Я хочу создать шаблон, сочетающий в себе эти два компонента. Я бы хотел, чтобы в шаблоне веб-приложения был параметр объекта с именем userProvidedAppSettings
, который я мог бы объединить с некоторыми значениями по умолчанию, а затем назначить полученный объект в качестве значения свойств ресурса Microsoft.Web / site / config / appsettings.
Похоже, что в настоящее время вы не можете использовать функции reference или listkeys во встроенном значении объекта для параметра, см. userProvidedAppSettings
в примере ниже.
Возможно ли это, и я не использую правильное соглашение? Я ничего не видел в документации по этому поводу.
{
"apiVersion": "[parameters('apiVersion')]",
"name": "[variables('serviceBusDeploymentName')]",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[parameters('templateOneUri')]",
"contentVersion": "1.0.0.0"
},
"parameters": {
"environment": { "value": "[parameters('environment')]" },
"appName": { "value": "[parameters('appName')]" }
}
}
},
{
"apiVersion": "[parameters('apiVersion')]",
"name": "[variables('applicationDeploymentName')]",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[parameters('templateTwoUri')]",
"contentVersion": "1.0.0.0"
},
"parameters": {
"environment": { "value": "[parameters('environment')]" },
"appName": { "value": "[parameters('appName')]" },
"userProvidedAppSettings" : { "value": { "serviceBusConnectionString": "[reference(variables('serviceBusDeploymentName')).outputs.connectionString.value]" } }
}
}
}
РЕДАКТИРОВАТЬ:
Чтобы уточнить, речь идет о поведении связанных значений параметров шаблона. Я конкретно об этом спрашиваю:
"parameters": {
// Allowed:
"param1": { "value": "[parameters('environment')]" },
"param2": { "value": "[reference('otherDeployment').outputs.something.value]" },
"param3": { "value": { "this": "is allowed",
"inline": "is allowed" } },
// NOT Allowed
"param4": { "value": { "this": "is NOT allowed".
"foo": "[reference('otherDeployment').outputs.something.value]" } }
}
reference
выходы разрешены как значения, встроенные объекты разрешены как значения, но встроенные объекты, значения которых включают reference
(или неявную ссылку из list
функций), НЕ разрешены. Мне интересно, возможно ли это с помощью другого соглашения, или это следует добавить в список желаемых функций.