Настройка параметров приложения

Завершено

В Службе приложений параметры приложения являются переменными, передаваемыми как переменные среды в код приложения. Для приложений и настраиваемых контейнеров 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.