Azure Resource Manager所有函数'resourceId'参数必须是字符串文字错误

问题描述 投票:0回答:1

在实现具有可用性集'/subscriptions/xxx/resourceGroups/mgRG/providers/Microsoft.Compute/virtualMachines/myVM'的ARM模板时,我收到以下错误。 “无法评估模板语言函数'resourceId':所有函数参数必须是字符串文字”

"availabilitySet": {
                    "id": "[resourceId(subscription(),parameters('RGName'),'Microsoft.Compute/availabilitySets',variables('ASName'))]"

我试图从参数中删除subscription(),没有帮助。我必须保留参数('RGName'),因为它不是当前的资源组。

azure azure-resource-manager
1个回答
1
投票

好吧,它就是它,它只接受字符串。

  1. subscription()将返回一个对象,而不是一个字符串
  2. 由于您使用的是订阅(),这意味着您要定位相同的订阅,您可以放弃此部分
  3. 参数('RGName') - 仅在资源位于另一个资源组中时才需要。它也必须是一个字符串
  4. 变量('ASName') - 也必须是一个字符串。

如果它抱怨某些东西不是字符串,那么东西不是字符串:)

© www.soinside.com 2019 - 2024. All rights reserved.