Configurer les paramètres de l’application

Effectué

Dans App Service, les paramètres d’application sont des variables transmises comme des variables d’environnement au code de l’application. Pour les applications Linux et les conteneurs personnalisés, App Service envoie les paramètres d’application au conteneur via l’indicateur --env pour définir la variable d'environnement dans le conteneur.

Les paramètres d’application sont accessibles en accédant à la page de gestion de votre application et en sélectionnant variables d’environnement > paramètres d’application.

Navigation dans les variables d’environnement > paramètres d’application

Pour les développeurs ASP.NET et ASP.NET Core, la définition des paramètres d’application dans App Service ressemble à les définir dans <appSettings> dans Web.config ou appsettings.json, mais les valeurs dans App Service remplacent celles de Web.config ou appsettings.json. Vous pouvez conserver de façon sécurisée les paramètres de développement (par exemple, le mot de passe MySQL local) dans Web.config ou appsettings.json, ainsi que les secrets de production (par exemple le mot de passe de la base de données MySQL Azure) dans App Service. Le même code utilise vos paramètres de développement lorsque vous déboguez localement, et utilise vos secrets de production lorsque vous les déployez sur Azure.

Une fois stockés, les paramètres d’application sont toujours chiffrés (chiffrement au repos).

Ajout et modification de paramètres

Pour ajouter un nouveau paramètre d’application, sélectionnez + Ajouter. Si vous utilisez des emplacements de déploiement, vous pouvez spécifier si votre paramètre est échangeable ou non. Dans la boîte de dialogue, vous pouvez conserver le paramètre dans l'emplacement actuel.

Sélection du paramètre d’emplacement de déploiement pour coller le paramètre à l’emplacement actuel.

Lorsque vous avez terminé, sélectionnez Appliquer. N’oubliez pas de sélectionner Appliquer dans la page Variables d’environnement.

Remarque

Dans un service d’application Linux par défaut ou un conteneur Linux personnalisé, une structure de clé JSON imbriquée dans le nom du paramètre de l’application, par exemple ApplicationInsights:InstrumentationKey, doit être configurée dans App Service en tant que ApplicationInsights__InstrumentationKey pour le nom de la clé. En d’autres termes, vous devez remplacer : par __ (trait de soulignement double). Toutes les périodes du nom du paramètre d’application sont remplacées par un _ (trait de soulignement unique).

Modification en bloc des paramètres d’application

Pour ajouter ou modifier en bloc des paramètres d’application, sélectionnez le bouton de modification Avancé. Lorsque vous avez terminé, sélectionnez OK. N’oubliez pas de sélectionner Appliquer dans la page Variables d’environnement. Les paramètres de l'application affichent le format JSON suivant :

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

Configuration des chaînes de connexion

Pour les développeurs ASP.NET et ASP.NET Core, la définition de chaînes de connexion dans App Service ressemble à les définir dans <connectionStrings> dans Web.config, mais les valeurs que vous définissez dans App Service remplacent celles de Web.config. Pour les autres piles linguistiques, il est préférable d’utiliser les paramètres d’application à la place, car les chaînes de connexion nécessitent une mise en forme spéciale dans les clés de variable afin d’accéder aux valeurs.

Conseil

Il existe un cas où vous pouvez utiliser des chaînes de connexion au lieu des paramètres d’application pour les langages autre que .NET : certains types de base de données Azure sont sauvegardés avec l’application uniquement si vous configurez une chaîne de connexion pour la base de données dans votre application App Service.

L’ajout et la modification de chaînes de connexion suivent les mêmes principes que les autres paramètres d’application, et celles-ci peuvent également être liées à des emplacements de déploiement. Voici un exemple de chaînes de connexion dans une mise en forme JSON que vous pouvez utiliser pour l’ajout ou la modification en bloc :

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

Remarque

Les applications .NET ciblant PostgreSQL doivent définir la chaîne de connexion sur personnalisé comme solution de contournement pour un problème connu dans .NET EnvironmentVariablesConfigurationProvider.

Configurer des variables d’environnement pour des conteneurs personnalisés

Votre conteneur personnalisé peut utiliser des variables d’environnement qui doivent être fournies en externe. Vous pouvez les transmettre via le Cloud Shell. Dans Bash :

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

Dans PowerShell :

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

Lorsque votre application s’exécute, les paramètres d’application App Service sont automatiquement injectés dans le processus en tant que variables d’environnement. Vous pouvez vérifier les variables d’environnement de conteneur avec l’URL https://<app-name>.scm.azurewebsites.net/Env.