Я хотел бы иметь возможность передавать встроенный объект в качестве значения параметра в связанный шаблон.Сценарий использования может состоять в том, что у меня есть шаблон, который развертывает служебную шину (или некоторый другой ресурс) и шаблон, который развертывает веб-приложение.Я хочу создать шаблон, который объединяет два компонента.Мне бы хотелось, чтобы шаблон веб-приложения имел параметр объекта с именем 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
функции) НЕ допускаются.Мне интересно, возможно ли это с помощью другого соглашения или его следует добавить в список требуемых функций.