Получить выходные значения из шаблона связанного плеча
Надеясь , что кто-то может помочь определить, чего не хватает в моем подходе.
Я использую Visual Studio 2017, если это что-то меняет.
У меня есть два шаблона руки; maintemplate и связанный шаблон.
В maintemplate я пытаюсь сослаться на связанный шаблон и получить выходное значение из него в разделе выходных данных моего maintemplate, чтобы выходные данные содержали значения из обоих шаблонов.
Вот раздел связанных темпальтовых выходов;
"outputs": {
"LoadBalancer-pip1": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName1'))).IpAddress]"
},
"LoadBalancer-pip1-DNS-Name": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName1'))).dnsSettings.fqdn]"
}
}
Вот раздел выходов главной матрицы;
"outputs": {
"jump Box VM Public IP address": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses',variables('hub-cc-jbox-pipName'))).IpAddress]"
},
"Load Balancer VIP1": {
"type": "string",
"value": "[reference('hub-plb').outputs.LoadBalancer-pip1.value]"
},
"Load Balancer VIP1 DNS Name": {
"type": "string",
"value": "[reference('hub-plb').outputs.LoadBalancer-pip1-DNS-Name.value]"
}
}
Согласно этой ссылке; https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-linked-templates
это должно быть возможно, если это не вложенный шаблон, а это не так.
Вот мой раздел maintemplate, где я делаю ссылку на связанный элемент;
{
"name": "hub-plb",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2017-05-10",
"dependsOn": [],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[concat(parameters('_artifactsLocation'), '/', variables('hub-plbTemplateFolder'), '/', variables('hub-plbTemplateFileName'), parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
},
"parametersLink": {
"uri": "[concat(parameters('_artifactsLocation'), '/', variables('hub-plbTemplateFolder'), '/', variables('hub-plbTemplateParametersFileName'), parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
}
}
}
Когда я пытаюсь проверить / развернуть шаблон, он терпит неудачу с этим сообщением;
VERBOSE: Performing the operation "Creating Deployment" on target "xyz-rg".
08:23:09 - New-AzureRmResourceGroupDeployment : 8:23:08 AM - Error: Code=InvalidTemplate; Message=Deployment template validation
08:23:09 - failed: 'The template output 'Load Balancer VIP1' at line '1034' and column '31' is not valid: The language expression
08:23:09 - 'reference('hub-plb').outputs.LoadBalancer-pip1.value' is not valid: the string character 'p' at position '42' is not
08:23:09 - expected..
Любая помощь высоко ценится.
1 ответ
В этом случае проблема была с выходным именем, после удаления -
от этого все начало работать.