Настройка параметров приложения
В Службе приложений параметры приложения являются переменными, передаваемыми как переменные среды в код приложения. Для приложений и настраиваемых контейнеров Linux Служба приложений передает параметры приложения в контейнер с помощью флага --env
, чтобы задать переменную среды в контейнере.
К параметрам приложения можно получить доступ, перейдя > приложения переменных среды.
Для разработчиков ASP.NET и ASP.NET Core настройка параметров приложения в Служба приложений похожа на настройку <appSettings>
в Web.config или appsettings.json, но значения в Служба приложений переопределяют их в Web.config или appsettings.json. Вы можете безопасно сохранить параметры разработки (например, локальный пароль MySQL) в Web.config или appsettings.json, а производственные секреты (например, пароль базы данных MySQL Azure) — в Службе приложений. Один и тот же код использует параметры разработки при локальной отладке, а производственные секреты — при развертывании в Azure.
Параметры приложения всегда шифруются при хранении.
Добавление и изменение параметров
Чтобы добавить новый параметр приложения, нажмите кнопку +Добавить. Если вы используете слоты развертывания, можно указать, является ли параметр переключимым или нет. В диалоговом окне можно прикрепить параметр к текущему слоту.
По завершении нажмите кнопку "Применить". Не забудьте выбрать "Применить обратно" на странице переменных среды.
Примечание.
В службе приложений Linux по умолчанию или в настраиваемом контейнере Linux любая вложенная структура ключей JSON в имени параметра приложения, например ApplicationInsights:InstrumentationKey
, должна указываться в службе приложений для имени ключа как ApplicationInsights__InstrumentationKey
. Другими словами, символы :
следует заменять на __
(двойное подчеркивание). Все периоды в имени параметра приложения будут заменены одним символом _
подчеркивания.
Массовое изменение параметров приложения
Чтобы добавить или изменить параметры приложения в массовом режиме, нажмите кнопку "Дополнительно изменить ". По завершении выберите ОК. Не забудьте выбрать "Применить обратно" на странице переменных среды. Параметры приложения задаются в следующем формате JSON.
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Настройка строк подключения
Для разработчиков ASP.NET и ASP.NET Core параметры строка подключения в Служба приложений похожи на настройку в Web.config<connectionStrings>
Web.config. Для других стеков языков лучше использовать параметры приложения, так как строка подключения требуют специального форматирования в ключах переменных для доступа к значениям.
Совет
Единственный случай, когда вместо параметров приложения для языков, не относящихся к группе .NET, может быть предпочтительнее использовать строки подключения: некоторые типы Базы данных Azure архивируются вместе с приложением, только если вы настроили строку подключения для базы данных в своем приложении Службы приложений.
Добавление и изменение строк подключения выполняются по тем же принципам, что и другие параметры приложения. Их также можно привязывать к слотам развертывания. Пример строка подключения в форматировании JSON, который будет использоваться для массового добавления или редактирования:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Примечание.
Приложения .NET, предназначенные для PostgreSQL, должны задать для строка подключения значение Custom в качестве обходного решения для известной проблемы в .NET EnvironmentVariablesConfigurationProvider.
Настройка переменных среды для пользовательских контейнеров
Настраиваемый контейнер может использовать переменные среды, которые необходимо предоставить внешним образом. Их можно передать с помощью Cloud Shell. В Bash:
az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings key1=value1 key2=value2
В PowerShell:
Set-AzWebApp -ResourceGroupName <group-name> -Name <app-name> -AppSettings @{"DB_HOST"="myownserver.mysql.database.azure.com"}
При запуске приложения параметры приложения Службы приложений автоматически подставляются в процесс как переменные среды. Вы можете проверить переменные среды контейнера с помощью URL-адреса https://<app-name>.scm.azurewebsites.net/Env
.