#json #azure-devops #azure-sql-database #azure-resource-manager #arm-template
Вопрос:
Я создаю шаблон ARM, который создает базы данных (массив) на сервере SQL Azure, и я пытаюсь вывести ADO.NET строки подключения и сохраните их в хранилище ключей. У меня есть 3 строки подключения (аутентификация SQL, аутентификация по паролю AD и встроенная аутентификация AD). Я получаю выходные данные, предоставляя их по отдельности, как показано ниже:
"outputs": {
"SQLAuthConnectionString": {
"type": "object",
"value": {
"type": "string",
"value": "[concat('Server=tcp:',reference(parameters('serverName')).fullyQualifiedDomainName,',1433;Initial Catalog=',parameters('dbnameName'),';Persist Security Info=False;User ID=',reference(parameters('serverName')).administratorLogin,';Password=',reference(parameters('serverName')).administratorLoginPassword,';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;')]"
}
},
"ADPasswordConnectionString": {
"type": "object",
"value": {
"type": "string",
"value": "[concat('Server=tcp:',reference(parameters('serverName')).fullyQualifiedDomainName,',1433;Initial Catalog=',parameters('dbnameName'),';Persist Security Info=False;User ID=',reference(parameters('serverName')).administratorLogin,';Password=',reference(parameters('serverName')).administratorLoginPassword,';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication="Active Directory Password"]"
}
},
"ADIntegratedConnectionString": {
"type": "object",
"value": {
"type": "string",
"value": "[concat('Server=tcp:',parameters('serverName').fullyQualifiedDomainName,,,1433;Initial Catalog=',parameters('databaseName'),';Persist Security Info=False;User ID=',reference(parameters('serverName'))]"
Однако проверка, можем ли мы добавить условия в выходные данные (используя параметр ex: parameter('authentication_method')
или любым другим способом). Любые входные данные приветствуются, поскольку это мой первый шаблон arm.
Ответ №1:
Как упоминалось в документации Azure, вы можете использовать условия в блоке вывода шаблона ARM при условном развертывании ресурса.
Вы можете обратиться к этому документу для простого примера условного вывода.
Комментарии:
1. Кроме того, имейте в виду, что ввод секрета в выходные данные сделает этот секрет доступным для всех, у кого есть доступ на ЧТЕНИЕ в пределах области (например, ResourceGroup, подписка)