首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从链接的arm模板获取输出值

从链接的arm模板获取输出值
EN

Server Fault用户
提问于 2018-11-25 13:44:21
回答 1查看 2.4K关注 0票数 0

希望有人能帮我找出我的方法中缺少的东西。

如果这有什么不同的话,我现在用的是visual 2017。

我有两个arm模板: maintemplate和linkedtemplate。

在主模板中,我试图引用一个链接模板,并在我的主模板的输出部分中从它中检索一个输出值,以便输出包含两个模板的值。

这是linkedtempalte输出部分;

代码语言:javascript
复制
"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]"
    }
  }

以下是主模板输出部分;

代码语言:javascript
复制
"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

它应该是可能的,只要它不是嵌套模板,而不是嵌套模板。

这里是我的主模板部分,在这里我将链接到linkedtempalte;

代码语言:javascript
复制
{
        "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"
          }
        }
      }

当我尝试验证/部署模板时,它会失败,这条消息会失败;

代码语言:javascript
复制
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..

任何帮助都很感激。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-11-28 05:39:52

在这种情况下,问题在于输出名称,在从其中删除-之后,一切都开始工作。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/941541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档