Definir as configurações do aplicativo
No Serviço de Aplicativo, as configurações do aplicativo são variáveis enviadas como variáveis de ambiente para o código do aplicativo. Para aplicativos Linux e contêineres personalizados, o Serviço de Aplicativo envia as configurações do aplicativo para o contêiner usando o sinalizador --env
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 aplicativo e selecionando Variáveis de ambiente > Configurações de aplicativo.
Para desenvolvedores de ASP.NET e ASP.NET Core, definir as configurações de aplicativo no App Service é semelhante a configurá-las em <appSettings>
no Web.config ou appsettings.json, mas os valores no Serviço de Aplicativo substituem os valores no Web.config ou appsettings.json. Você pode manter as configurações de desenvolvimento (por exemplo, senha MySQL local) em Web.config ou appsettings.json e os segredos de produção (por exemplo, senha do banco de dados MySQL do Azure) em segurança no Serviço de Aplicativo. O mesmo código usa as configurações de desenvolvimento quando você depura localmente e usa os segredos de produção quando implantado no Azure.
As configurações do aplicativo são sempre criptografadas quando armazenadas (criptografadas em repouso).
Como adicionar e editar configurações
Para adicionar uma nova configuração de aplicativo, selecione + Adicionar. Se você estiver usando slots de implantação, poderá especificar se a configuração pode ser trocada ou não. Na caixa de diálogo, você pode fixar 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.
Observação
Em um serviço de aplicativo padrão ou um contêiner personalizado do Linux, qualquer estrutura de chave JSON aninhada no nome da configuração do aplicativo como ApplicationInsights:InstrumentationKey
precisa ser configurada no Serviço de Aplicativo como ApplicationInsights__InstrumentationKey
para o nome da chave. Em outras palavras, qualquer :
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).
Como editar configurações de aplicativo em massa
Para adicionar ou editar configurações de aplicativo em massa, selecione o botão de edição Avançada. Ao terminar, selecione OK. Não se esqueça de selecionar Aplicar 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 conexão
Para desenvolvedores de ASP.NET e ASP.NET Core, configurar as cadeias de conexão no App Service é semelhante a configurá-las em <connectionStrings>
no Web.config, mas os valores definidos no Serviço de Aplicativo substituem os valores no Web.config. Para outras pilhas de linguagem, é melhor usar configurações de aplicativo em vez de cadeias de conexão, porque as cadeias de conexão requerem formatação especial nas chaves das variáveis para acessar os valores.
Dica
Há um caso em que talvez você queira usar cadeias de conexão em vez de configurações de aplicativo para linguagens não .NET: determinados tipos de banco de dados do Azure fazem backups em conjunto com o aplicativo somente caso você configure uma cadeia de conexão do banco de dados em seu aplicativo do Serviço de Aplicativo.
Adicionar e editar cadeias de conexão segue os mesmos princípios que outras configurações de aplicativo e também podem ser vinculados a slots de implantação. Veja abaixo um exemplo de cadeias de conexão na formatação JSON que você usaria para adição ou edição em massa:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Observação
Os aplicativos .NET destinados ao PostgreSQL devem definir a cadeia de conexão como Personalizada como solução alternativa para um problema conhecido no EnvironmentVariablesConfigurationProvider do .NET.
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á-las por meio do Cloud Shell. No 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 Serviço de Aplicativo são injetadas automaticamente no processo como variáveis de ambiente. Você pode verificar as variáveis de ambiente do contêiner com a URL https://<app-name>.scm.azurewebsites.net/Env
.