#azure #azure-sql-database #azure-resource-manager
#azure #azure-sql-база данных #azure-менеджер ресурсов #azure-sql-database #azure-resource-manager
Вопрос:
Я использую шаблон ARM для получения имени сервера Azure sql Server, но я ищу способ также получить порт (1433) вместо предоставления жестко заданного значения.
Мой код ARM:
[concat(reference(resourceId('Microsoft.SQL/servers/', parameters('database_server_name'))).fullyQualifiedDomainName,':1433')]
редактировать: Диспетчер ресурсов не указывает порт в деталях, но этот порт указан в настройках подключения.
Ответ №1:
В диспетчере ресурсов Azure есть NO port number
свойство для типа ресурса Microsoft.Sql/servers. Следовательно, нет никакого способа прочитать это из свойства SQL Server в шаблоне.
Ниже приведен Обозреватель ресурсов на портале Azure, в котором показаны все свойства для типа ресурса Microsoft.Sql/servers.
Комментарии:
1. Спасибо за ваш ответ, я знаком с обозревателем ресурсов, и именно это вызвало мой вопрос.
2. Летом 2018 года я также считаю, что это так. (Не настраиваемое свойство.) Кажется, что он очень жестко закодирован на 1433. Да здравствует память о Sql Server 6.5 и 7.0!
Ответ №2:
Сделайте это так же, как ваш параметр database_server_name:
[concat(reference(resourceId('Microsoft.SQL/servers/', parameters('database_server_name'))).fullyQualifiedDomainName,':', parameters('port_number'))]
Комментарии:
1. Извините, я не говорил, что я не указал какой-либо порт в моем шаблоне SQL. У меня нет ‘port_number’.
2. Вы можете добавить переменную или параметр в шаблон ARM, чтобы добавить номер порта.
Ответ №3:
На данный момент единственным номером порта, который был бы возвращен (если бы существовал такой поиск параметров) для Azure SQL DB, является порт 1433; это не отображается в API, как отметил ювчан.
Вы могли бы добавить параметр в свой файл параметров шаблона ARM, как предложил pascal, чтобы избежать появления магического числа в вашем коде, поскольку, похоже, это то, чего вы пытаетесь избежать.
Затем содержимое этого файла будет включать что-то вроде
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
...
"sqlazure_port_number": {
"value": "1433"
}
...
}
}