Configuración de la aplicación
En App Service, las configuraciones de aplicaciones son variables que se pasan como variables de entorno al código de la aplicación. En el caso de las aplicaciones Linux y de los contenedores personalizados, App Service pasa la configuración de la aplicación al contenedor mediante la marca --env
para establecer la variable de entorno en el contenedor.
Para acceder a la configuración de la aplicación, vaya a la página de administración de la aplicación y seleccione Variables de entorno > Configuración de la aplicación.
Para los desarrolladores de ASP.NET y ASP.NET Core, establecer la configuración de la aplicación en App Service es como establecerlos en <appSettings>
en Web.config o appsettings.json, pero los valores de App Service invalidan los de Web.config o appsettings.json. Puede mantener la configuración de desarrollo (por ejemplo, la contraseña de MySQL local) de Web.config o appsettings.json y los secretos de producción (por ejemplo, la contraseña de base de datos de Azure MySQL) de forma segura en App Service. El mismo código usa la configuración de desarrollo cuando se depura localmente, y utiliza los secretos de producción cuando se implementa en Azure.
La configuración de la aplicación siempre se cifra cuando se almacena (cifrado en reposo).
Adición y edición de la configuración
Para agregar una nueva configuración de aplicación, seleccione + Agregar. Si usa ranuras de implementación, puede especificar si la configuración se puede intercambiar o no. En el cuadro de diálogo, puede fijar la configuración a la ranura actual.
Cuando termine, seleccione Aplicar. No olvide seleccionar Aplicar en la página Variables de entorno.
Nota:
En un servicio de aplicaciones de Linux predeterminado o en un contenedor de Linux personalizado, cualquier estructura de claves JSON anidada en el nombre de configuración de la aplicación, como ApplicationInsights:InstrumentationKey
, debe configurarse en App Service como ApplicationInsights__InstrumentationKey
para el nombre de clave. Es decir, los símbolos :
deben reemplazarse por __
(doble subrayado). Los puntos que se encuentra en el nombre de configuración de la aplicación se reemplazarán por un _
(carácter de subrayado único).
Edición masiva de la configuración de la aplicación
Para agregar o editar la configuración de la aplicación de forma masiva, haga clic en el botón Avanzado. Cuando termine, seleccione Aceptar. No olvide seleccionar Aplicar de nuevo en la página Variables de entorno. La configuración de la aplicación tiene el formato JSON siguiente:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Configurar cadenas de conexión
Para los desarrolladores de ASP.NET y ASP.NET Core, establecer cadenas de conexión en App Service es como establecerlas en <connectionStrings>
en Web.config, pero los valores establecidos en App Service invalidan los de Web.config. En el caso de otras pilas de lenguaje, es mejor usar la configuración de la aplicación en su lugar, ya que las cadenas de conexión requieren un formato especial en las claves de variable para tener acceso a los valores.
Sugerencia
Hay un caso en el que puede que quiera usar cadenas de conexión en lugar de la configuración de la aplicación para los lenguajes que no son .NET: la copia de seguridad de determinados tipos de bases de datos de Azure se realiza junto con la aplicación solo si se configura una cadena de conexión para la base de datos en la aplicación de App Service.
La adición y edición de cadenas de conexión sigue los mismos principios que otras configuraciones de la aplicación y también se puede vincular a ranuras de implementación. Un ejemplo de cadenas de conexión en formato JSON que se usaría para la adición o edición de forma masiva.
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Nota:
Las aplicaciones .NET destinadas a PostgreSQL deben establecer la cadena de conexión en Custom como solución alternativa para un problema conocido en .NET EnvironmentVariablesConfigurationProvider.
Configuración de variables de entorno para contenedores personalizados
El contenedor personalizado puede usar variables de entorno que se deben proporcionar de forma externa. Se pueden pasar mediante Cloud Shell. En Bash:
az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings key1=value1 key2=value2
En PowerShell:
Set-AzWebApp -ResourceGroupName <group-name> -Name <app-name> -AppSettings @{"DB_HOST"="myownserver.mysql.database.azure.com"}
Cuando se ejecuta la aplicación, la configuración de la aplicación App Service se inserta automáticamente en el proceso como variables de entorno. Puede comprobar las variables de entorno de contenedor con la dirección URL https://<app-name>.scm.azurewebsites.net/Env
.