Как я могу использовать один файл параметров для шаблонов, которые используют несколько разных параметров? (Azure Развертывание LogicApp с использованием Powershell в конвейерах DevOps) - PullRequest
0 голосов
/ 07 января 2020

Итак, я сейчас работаю над проектом и столкнулся с проблемой. В компании, в которой я работаю, мы используем две разные группы ресурсов, одну для демонстрации, а затем для продуктивной. До этого мы вручную копировали каждое новое приложение Logi c с демо-счета и изменяли параметры, чтобы оно использовало правильные для продуктивной работы. На данный момент у нас около 80 приложений c, и мы разделяем их по группам. Цель состоит в том, чтобы сделать это намного проще и с минимально необходимой ручной работой.

Мы используем их для синхронизации c SQL таблиц, данных CRM и множества других вещей вместе. Поэтому у меня есть много приложений logi c, которые используют разные параметры. Например, один может синхронизировать c с Каландра на сервер SQL, а другой синхронизировать две таблицы SQL, но к каждой таблице должен обращаться другой пользователь. То, что я хочу сделать, это иметь 6-7 файлов параметров в зависимости от syn c. Но когда развертывание обнаруживает, что у меня есть значения параметров, которые не используются шаблоном, развертывание завершается ошибкой со следующей ошибкой, из-за которой необходимо создать новый файл параметров почти для всех новых приложений logi c:

Code=InvalidTemplate; Message=Deployment template validation failed: 'The template parameters 'sql_server......' in the parameters file are not valid; they are not present in the original template and can therefore not be provided at deployment time. The only supported parameters for this template are 'logicAppName, logicAppLocation........ sql-8_username, sql-8_password, sql-8_sqlConnectionString'. Please see https://aka.ms/arm-deploy/#parameter-file for usage details.'.

Есть ли способ сделать эти параметры необязательными, чтобы каждый шаблон использовал те, которые ему нужны? Я погуглил, но главное, что я нашел, не сильно помогло => https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-best-practices#parameters

Большое спасибо за любую помощь, которую вы, ребята, можете оказать!

1 Ответ

0 голосов
/ 08 января 2020

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

  • Любой defaultValue, предоставленный для параметра, должен быть действительным для всех пользователей в конфигурации развертывания по умолчанию .
  • Не указывайте значения по умолчанию для имен пользователей, паролей (или чего-либо, что требует secureString) или чего-либо, что увеличит площадь поверхности атаки приложения
  • Не используйте пустые строки по умолчанию значения (используйте языковые выражения для упрощения сценария)
  • Выражения шаблона можно использовать для создания значений по умолчанию

Ссылка: https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md#parameters

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