Моя конкатенация в Azure .json не работает должным образом - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь развернуть шаблон балансировки нагрузки, в котором я портирую под разными именами, чтобы сформировать конкатенацию.Это происходит из-за того, что шаблон параметров влияет на именование пулов внутренних адресов и других выходных данных.Мой текущий код конкатенации такой:

"[concat(resourceId('Microsoft.Network/loadBalancers/', variables('loadBalancerName'), '/frontendIpConfigurations/', variables('subnet1name'), '-FrontEnd'))]"

Однако, когда я пытаюсь запустить это в Jenkins, я получаю следующее сообщение об ошибке:

"Unable to process template language expressions for resource '/subscriptions/****/resourceGroups/test-networks-hub-rg/providers/Microsoft.Network/loadBalancers/test-firewall-lb' at line '1' and column '2581'. 'Unable to evaluate template language function 'resourceId': function requires exactly one multi-segmented argument which must be resource type including resource provider namespace. Current function arguments 'Microsoft.Network/loadBalancers/,test-firewall-lb,/frontendIpConfigurations/,test-firewall-subnet,-FrontEnd'

Похоже, что resourceId нераспознается, потому что он не соединяется должным образом.Я проверил руководство Microsoft, но я не могу понять, где я иду не так.

Кто-нибудь может увидеть мою ошибку?

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Удалите concat () и просто используйте функцию resourceID, например,

[resourceId('Microsoft.Network/loadBalancers/frontendIpConfigurations', variables('loadBalancerName'), concat(variables('subnet1name'), '-FrontEnd'))]

Изучение этой функции / шаблона очень поможет, когда вы начнете использовать ресурсы в других группах или подписках.

0 голосов
/ 02 июля 2019

Хорошо, оказывается, у меня просто была скобка в неправильном месте. Правильный синтаксис такой:

"[concat(resourceId('Microsoft.Network/loadBalancers/', variables('loadBalancerName')), '/frontendIpConfigurations/', variables('subnet1name'), '-FrontEnd')]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...