Configurar definições da aplicação

Concluído

No Serviço de Aplicativo, as configurações do aplicativo são variáveis passadas como variáveis de ambiente para o código do aplicativo. Para aplicativos Linux e contêineres personalizados, o Serviço de Aplicativo passa as configurações do aplicativo para o contêiner usando o --env sinalizador para definir a variável de ambiente no contêiner.

As configurações do aplicativo podem ser acessadas navegando até a página de gerenciamento do seu aplicativo e selecionando Variáveis > de ambiente Configurações do aplicativo.

Navegando para variáveis > de ambiente Configurações do aplicativo

Para desenvolvedores ASP.NET e ASP.NET Core, definir configurações de aplicativo no Serviço de Aplicativo é como defini-las em <appSettings> Web.config ou appsettings.json, mas os valores no Serviço de Aplicativo substituem os de Web.config ou appsettings.json. Você pode manter as configurações de desenvolvimento (por exemplo, senha local do MySQL) em Web.config ou appsettings.json e segredos de produção (por exemplo, senha do banco de dados MySQL do Azure) com segurança no Serviço de Aplicativo. O mesmo código usa suas configurações de desenvolvimento quando você depura localmente e usa seus segredos de produção quando implantado no Azure.

As configurações do aplicativo são sempre criptografadas quando armazenadas (criptografadas em repouso).

Adicionando e editando configurações

Para adicionar uma nova configuração de aplicativo, selecione + Adicionar. Se você estiver usando slots de implantação, poderá especificar se sua configuração pode ser trocada ou não. Na caixa de diálogo, você pode manter a configuração no slot atual.

Selecionando a configuração do slot de implantação para manter a configuração no slot atual.

Quando terminar, selecione Aplicar. Não se esqueça de selecionar Aplicar novamente na página Variáveis de ambiente.

Nota

Em um serviço de aplicativo Linux padrão ou em um contêiner Linux personalizado, qualquer estrutura de chave JSON aninhada no nome da configuração do aplicativo precisa ApplicationInsights:InstrumentationKey ser configurada no Serviço de Aplicativo como ApplicationInsights__InstrumentationKey para o nome da chave. Em outras palavras, qualquer um : deve ser substituído por __ (sublinhado duplo). Todos os períodos no nome da configuração do aplicativo serão substituídos por um _ (sublinhado único).

Editando configurações do aplicativo em massa

Para adicionar ou editar as configurações do aplicativo em massa, selecione o botão Edição avançada . Quando terminar, selecione OK. Não se esqueça de selecionar Aplicar novamente na página Variáveis de ambiente. As configurações do aplicativo têm a seguinte formatação JSON:

[
  {
    "name": "<key-1>",
    "value": "<value-1>",
    "slotSetting": false
  },
  {
    "name": "<key-2>",
    "value": "<value-2>",
    "slotSetting": false
  },
  ...
]

Configurar cadeias de ligação

Para desenvolvedores ASP.NET e ASP.NET Core, definir cadeias de conexão no Serviço de Aplicativo é como defini-las em <connectionStrings> Web.config, mas os valores definidos no Serviço de Aplicativo substituem os de Web.config. Para outras pilhas de idiomas, é melhor usar as configurações do aplicativo, porque as cadeias de conexão exigem formatação especial nas teclas variáveis para acessar os valores.

Gorjeta

Há um caso em que você pode querer usar cadeias de conexão em vez de configurações de aplicativo para idiomas non-.NET: o backup de certos tipos de banco de dados do Azure é feito junto com o aplicativo somente se você configurar uma cadeia de conexão para o banco de dados em seu aplicativo do Serviço de Aplicativo.

Adicionar e editar cadeias de conexão seguem os mesmos princípios de outras configurações do aplicativo e elas também podem ser vinculadas a slots de implantação. Um exemplo de cadeias de conexão na formatação JSON que você usaria para adicionar ou editar em massa:

[
  {
    "name": "name-1",
    "value": "conn-string-1",
    "type": "SQLServer",
    "slotSetting": false
  },
  {
    "name": "name-2",
    "value": "conn-string-2",
    "type": "PostgreSQL",
    "slotSetting": false
  },
  ...
]

Nota

Os aplicativos .NET destinados ao PostgreSQL devem definir a cadeia de conexão como Personalizada como solução alternativa para um problema conhecido no .NET EnvironmentVariablesConfigurationProvider.

Configurar variáveis de ambiente para contêineres personalizados

Seu contêiner personalizado pode usar variáveis de ambiente que precisam ser fornecidas externamente. Você pode passá-los através do Cloud Shell. Em Bash:

az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings key1=value1 key2=value2

No PowerShell:

Set-AzWebApp -ResourceGroupName <group-name> -Name <app-name> -AppSettings @{"DB_HOST"="myownserver.mysql.database.azure.com"}

Quando seu aplicativo é executado, as configurações do aplicativo do Serviço de Aplicativo são injetadas no processo como variáveis de ambiente automaticamente. Você pode verificar as variáveis de ambiente do contêiner com a URL https://<app-name>.scm.azurewebsites.net/Env.