Как создать переменные DevOps Azure для создания новой переменной - PullRequest
0 голосов
/ 26 октября 2018

Я хотел бы объединить свой идентификатор ресурса хранилища ключей Azure из текста и других переменных, таких как:

/subscriptions/$(SubscriptionId)/resourceGroups/$(VaultRg)/providers/Microsoft.KeyVault/vaults/$(keyVaultName)

, и поместить их в новую переменную, например kvid.

Однако, когда я делаю это, я получаю:

'SyntaxError: неожиданный токен d в JSON в позиции 17', убедитесь, что он соответствует нотации объектов JavaScript (JSON)

Должно ли это быть возможным?Есть идеи, где я могу что-то делать не так?

1 Ответ

0 голосов
/ 27 октября 2018

Похоже, вы просто поместили заполнитель в шаблон ARM.Это не сработает;нет скрытого механизма, который бы молча заменял заполнители на значения переменных в произвольных файлах.Вы должны явно предпринять какое-то действие (обычно с задачей на рынке), чтобы заполнить значения.

Однако , правильный способ достижения того, что вы хотите, - передать эти переменныекак параметры для вашего шаблона ARM и использовать стандартный синтаксис параметров шаблона ARM для ссылки на них.

Пример: определите параметр в шаблоне ARM:

"parameters": {
  "keyVaultName": {
    "type": "string",
    "defaultValue": "DefaultKV"
  }
}

Затем укажите параметры:

[concat('/subscriptions/', parameters('SubscriptionId'), '/resourceGroups/', parameters('VaultRg'), '/providers/Microsoft.KeyVault/vaults/', parameters(keyVaultName))]

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

Переопределите параметры шаблона
(Необязательно) Чтобы просмотреть параметры шаблона в сетке, нажмите «…”Рядом с полем Переопределить параметры.Эта функция требует, чтобы правила CORS были включены в источнике.Если шаблоны находятся в BLOB-объекте хранилища Azure, обратитесь к этому, чтобы включить CORS.Или введите параметры шаблона для переопределения в текстовом поле.Пример, –storageName fabrikam –adminUsername $ (vmusername) -adminPassword $ (пароль) –azureKeyVaultName $ (fabrikamFibre).

Если в используемом значении параметра есть несколько слов, заключите их в кавычки, даже если выПередаешь их используя переменные.Например, -name "значение параметра" -name2 "$ (var)" Чтобы переопределить параметры типа объекта, используйте строковые объекты JSON.Например, -options ["option1"] -map {"key1": "value1"}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...