Назад | Перейти на главную страницу

Получить выходные значения из связанного шаблона руки

надеюсь, что кто-то может помочь определить, чего не хватает в моем подходе.

Я использую Visual Studio 2017, если это имеет значение.

У меня есть два шаблона рук; maintemplate и связанный шаблон.

В основном шаблоне я пытаюсь сослаться на связанный шаблон и получить из него выходное значение в разделе выходных данных основного шаблона, чтобы выходные данные содержали значения из обоих шаблонов.

Здесь connectedtempalte раздел выходов;

"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#link-or-nest-a-template

это должно быть возможно, если это не вложенный шаблон, а это не так.

Вот мой раздел основного шаблона, где я делаю ссылку на связанный шаблон;

{
        "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..

Любая помощь очень ценится.

В этом случае проблема заключалась в имени вывода после удаления - с него все заработало.