У меня есть основной шаблон.В пределах этого: у меня есть связанный шаблон, создающий понимание приложения.и еще один связанный вызов шаблона для создания веб-приложения.
В вызове связанного шаблона веб-приложения я хочу передать AIKey в качестве параметра, но это проблематично.Если я это сделаю:
"value": "[reference(resourceId('Microsoft.Insights/components', variables('appInsightsName')),'2014-04-01').InstrumentationKey]"
Это не удается в первый раз, потому что эталонное значение оценивается немедленно, а appinsights еще не существует.Это происходит даже в том случае, если я использую зависимость от вызова ресурса шаблона, связанного с appinsights, в веб-приложении.
Поэтому я подумал, что, возможно, я смогу использовать ссылку в ссылке, чтобы предотвратить ее оценку слишком рано, ноэто не работает - кажется, вы не можете иметь ссылку внутри ссылки.
"value": "[reference(reference('AppInsights').outputs.resourceID.value,'2014-04-01').InstrumentationKey]"
Я не хочу помещать AI-ключ в вывод связанного шаблона, так как он будет помещатьэто открытым текстом.Есть ли способ добиться того, что я пытаюсь сделать?
Вот некоторые фрагменты кода, это один шаблон, но шаблон очень большой, поэтому я не включил все:
Вызов AI вложенного шаблона:
{
"name": "AppInsights",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2016-09-01",
"dependsOn": [],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[variables('AppInsightsTemplatePath')]",
"contentVersion": "1.0.0.0"
},
"parameters": {
"tagValues": {
"value": "[parameters('tagValues')]"
},
"workspaceId": {
"value": "[parameters('workspaceId')]"
},
"appInsightsName": {
"value": "[variables('appInsightsName')]"
}
}
}
},
Вызов шаблона WebAPP:
{
"name": "WebApp",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2016-09-01",
"dependsOn": [
"AppInsights",
"AppServicePlan"
],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[variables('WebAppTemplatePath')]",
"contentVersion": "1.0.0.0"
},
"parameters": {
"siteConfig": {
"value": {
"netFrameworkVersion": "v4.7",
"phpVersion": "",
"pythonVersion": "",
"javaVersion": "",
"nodeVersion": "",
"linuxFxVersion": "",
"use32BitWorkerProcess": "False",
"webSocketsEnabled": "False",
"alwaysOn": "True",
"managedPipelineMode": "Integrated",
"remoteDebuggingEnabled": "False",
"appSettings": [
{
"name": "APPINSIGHTS_INSTRUMENTATIONKEY",
"value": "[reference(resourceId('Microsoft.Insights/components', variables('appInsightsName')),'2014-04-01').InstrumentationKey]"
}
],
"connectionStrings": [],
"defaultDocuments": [],
"handlerMappings": [],
"virtualApplications": [
{
"virtualPath": "/",
"physicalPath": "site\\wwwroot",
"preloadEnabled": "True",
"virtualDirectories": ""
}
],
"minTlsVersion": "1.2"
}
}
}
}
},
Вот ошибка: "code": "ResourceNotFound", "message": "Ресурс «Microsoft.Insights / components / MyAppInsightsName» в группе ресурсов «MyResourceGroup» не найден. "