Что означает один из параметров развертывания с пустым ключом в версии VSTS ARM

Развертывание моей группы ресурсов шаблона ARM не удается в VSTS.

Я получаю сообщение об ошибке без какой-либо конкретной ссылки на параметр, у которого есть проблема: "Один из параметров развертывания имеет пустой ключ. См. https://aka.ms/arm-deploy/#parameter-file для получения дополнительной информации."

Указанный URL-адрес содержит общую информацию, с одним комментарием, задающим тот же вопрос, но без ответа на него. Человек, спрашивавший об этом, намекал, что это может иметь какое-то отношение к версии этапа развертывания (2. *) и больше не использует Powershell. Я прошелся по шаблону взад и вперед, сравнивая параметры в BeyondCompare, и ничего не торчит ...

Кто-нибудь знает, что означает эта ошибка?


comment
можешь поделиться шаблоном?   -  person 4c74356b41    schedule 26.07.2017
comment
Каков результат, если вы развернете его вручную на своем компьютере? Вы можете предоставить код шаблона? Попробуйте установить для system.debug значение true (переменная), затем проверьте, есть ли подробное сообщение об ошибке после сборки.   -  person starian chen-MSFT    schedule 28.07.2017
comment
Я попытаюсь развернуть его со своего локального компьютера в Azure, но это шаблон ARM инфраструктуры, поэтому его не нужно строить ... этот шаблон ARM содержит более 300 строк, что слишком долго, чтобы вставлять его сюда.   -  person matendie    schedule 28.07.2017


Ответы (6)


У меня была такая же проблема, и я обнаружил, что некоторые параметры имеют пробел в своих значениях. Так что вы должны написать -adminUsername "$(vmuser)". Это работает для меня

person Gclpixel    schedule 15.05.2018

Убедитесь, что ключ или значение вашего параметра не имеют пробелов между ними. если ваше значение требует места, используйте "". проверьте эту ссылку.

Пример,

прямое значение -param1 "Value with Space"

значение из переменных конвейера -param1 "$(valueFromVariables)".

person Sagar Kulkarni    schedule 30.08.2019

У нас было то же, что и matendie; пробел между тире и именем параметра:

- pricingTier "standard"

^ обратите внимание на пробел

person plavixo    schedule 07.01.2019

Это означает, что в вашем шаблоне развертывания есть ключ параметров без имени. Например, вместо -parametername или -parametername (обратите внимание на пробел).

Это также может произойти, если вам удастся вставить «длинное тире» (например, из веб-браузера) вместо стандартного тире.

person ImperialBert    schedule 03.12.2019

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

Может быть, определение как-то испортилось. Не уверен, но у нового нет этой проблемы.

Спасибо

person matendie    schedule 28.07.2017
comment
Это безумно бесит. У меня аналогичная проблема с работающей версией; Я изменил переменную среды на допустимое значение, и теперь в выпуске не удается развернуть шаблон ARM, который идентичен предыдущему выпуску, который работал, с тем же сообщением. - person Tom W; 04.07.2018

В моем случае проблема заключалась в переопределении параметров шаблона. Мне нужно было заключить значение параметра в кавычки - «DEV» на скриншоте ниже.

введите здесь описание изображения

person Piotr Perak    schedule 14.01.2020