Dans Azure Container Apps, vous pouvez définir des variables d’environnement d’exécution. Ces variables peuvent être définies comme des entrées manuelles ou comme des références à des secrets.
Ces variables d’environnement sont chargées sur votre application de conteneur pendant l’exécution.
Vous pouvez configurer les variables d’environnement lors de la création de l’application de conteneur ou ultérieurement en créant une nouvelle révision.
Remarque
Pour éviter toute confusion, nous ne recommandons pas de dupliquer des variables d’environnement. Lorsque plusieurs variables d’environnement portent le même nom, la dernière de la liste prend effet.
Si vous créez une application de conteneur via le portail Azure, vous pouvez configurer les variables d’environnement dans la section Conteneur :
Vous pouvez créer votre application de conteneur avec des variables d’environnement à l’aide de la commande az containerapp create en passant les variables d’environnement en tant qu’entrées « key=value » séparées par des espaces à l’aide du paramètre --env-vars
.
az containerapp create -n my-containerapp -g MyResourceGroup \
--image my-app:v1.0 --environment MyContainerappEnv \
--secrets mysecret=secretvalue1 anothersecret="secret value 2" \
--env-vars GREETING="Hello, world" ANOTHERENV=anotherenv
Si vous souhaitez référencer un secret, vous devez vous assurer que le secret que vous souhaitez référencer est déjà créé, consultez Gérer les secrets. Vous pouvez utiliser le nom du secret et le transmettre au champ de valeur, mais en commençant par secretref:
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=secretref:<SECRET_NAME>
Si vous souhaitez utiliser PowerShell, vous devez d’abord créer un objet en mémoire appelé EnvironmentVar à l’aide de la cmdlet PowerShell New-AzContainerAppEnvironmentVarObject.
Pour utiliser cette cmdlet, vous devez transmettre respectivement le nom de la variable d’environnement à l’aide du paramètre -Name
et la valeur à l’aide du paramètre -Value
.
$envVar = New-AzContainerAppEnvironmentVarObject -Name "envVarName" -Value "envVarvalue"
Si vous souhaitez référencer un secret, vous devez vous assurer que le secret que vous souhaitez référencer est déjà créé, consultez Gérer les secrets. Vous pouvez utiliser le nom du secret et le transmettre au paramètre -SecretRef
:
$envVar = New-AzContainerAppEnvironmentVarObject -Name "envVarName" -SecretRef "secretName"
Vous devez ensuite créer un autre objet en mémoire appelé Conteneur à l’aide de la cmdlet PowerShell New-AzContainerAppTemplateObject.
Sur cette cmdlet, vous devez transmettre le nom de votre image conteneur (et non de l’application de conteneur !) que vous désirez en utilisant le paramètre -Name
, le nom complet de l’image à l’aide du paramètre -Image
et référencer l’objet d’environnement que vous avez défini précédemment dans la variable $envVar
.
$containerTemplate = New-AzContainerAppTemplateObject -Name "container-app-name" -Image "repo/imagename:tag" -Env $envVar
Remarque
Notez qu’il existe d’autres paramètres que vous devrez peut-être définir à l’intérieur de l’objet de modèle pour éviter de les remplacer comme les ressources, les montages de volume, etc. Consultez la documentation complète sur ce modèle dans New-AzContainerAppTemplateObject.
Enfin, vous pouvez mettre à jour votre application de conteneur en fonction du nouvel objet de modèle que vous avez créé à l’aide de la cmdlet PowerShell Update-AzContainerApp.
Dans cette dernière cmdlet, vous devez uniquement transmettre l’objet de modèle que vous avez défini sur la variable $containerTemplate
à l’étape précédente à l’aide du paramètre -TemplateContainer
.
Update-AzContainerApp -TemplateContainer $containerTemplate
Ajouter des variables d’environnement sur des applications de conteneur existantes
Une fois l’application de conteneur créée, la seule façon de mettre à jour les variables d’environnement de l’application de conteneur consiste à créer une nouvelle révision avec les modifications nécessaires.
Connectez-vous au portail Azure, recherchez et sélectionnez Container Apps, puis sélectionnez votre application.
Dans le menu de gauche de l’application, sélectionnez Révisions et réplicas > Créer une révision
Vous devez ensuite modifier l’actuelle image conteneur existante :
Dans la section Variables d’environnement, vous pouvez ajouter de nouvelles variables d’environnement en cliquant sur Ajouter.
Définissez ensuite le nom de votre variable d’environnement et la source (il peut s’agir d’une référence à un secret).
Si vous sélectionnez la source comme manuel, vous pouvez entrer manuellement la valeur de la variable d’environnement.
Vous pouvez mettre à jour votre application de conteneur avec la commande az containerapp update.
Cet exemple crée une variable d’environnement avec une valeur manuelle (sans référencer un secret). Remplacez les <ESPACES RÉSERVÉS> par vos valeurs.
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=<VAR_VALUE>
Si vous souhaitez créer plusieurs variables d’environnement, vous pouvez insérer des valeurs séparées par des espaces au format « key=value ».
Si vous souhaitez référencer un secret, vous devez vous assurer que le secret que vous souhaitez référencer est déjà créé, consultez Gérer les secrets. Vous pouvez utiliser le nom du secret et le transmettre au champ valeur, mais en commençant par secretref:
, consultez l’exemple suivant :
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=secretref:<SECRET_NAME>
Tout comme vous devez faire lors de la création d’une application de conteneur, vous devez créer un objet appelé EnvironmentVar, qui est contenu dans un conteneur. Ce conteneur est ensuite utilisé avec la cmdlet PowerShell New-AzContainerApp.
Dans cette cmdlet, vous devez uniquement passer l’objet de modèle que vous avez défini précédemment, comme décrit dans la section Configuration des variables d’environnement.
Update-AzContainerApp -TemplateContainer $containerTemplate
Variables d’environnement intégrées
Azure Container Apps ajoute automatiquement des variables d’environnement que vos applications et vos travaux peuvent utiliser pour obtenir des métadonnées de la plateforme au moment de l’exécution.
Applications
Les variables suivantes sont disponibles pour les applications conteneur :
Nom de la variable |
Description |
Valeur d'exemple |
CONTAINER_APP_NAME |
Le nom de l'application conteneur. |
my-containerapp |
CONTAINER_APP_REVISION |
Le nom de la révision de l’application conteneur. |
my-containerapp--20mh1s9 |
CONTAINER_APP_HOSTNAME |
Le nom d’hôte spécifique à la révision de l’application conteneur. |
my-containerapp--20mh1s9.<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io |
CONTAINER_APP_ENV_DNS_SUFFIX |
Le suffixe DNS pour l’environnement Container Apps. Pour obtenir le nom de domaine complet (FQDN) de l’application, ajoutez le nom de l’application au suffixe DNS en utilisant le format $CONTAINER_APP_NAME.$CONTAINER_APP_ENV_DNS_SUFFIX . |
<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io |
CONTAINER_APP_PORT |
Le port cible de l’application conteneur. |
8080 |
CONTAINER_APP_REPLICA_NAME |
Le nom du réplica de l’application conteneur. |
my-containerapp--20mh1s9-86c8c4b497-zx9bq |
Tâches
Les variables suivantes sont disponibles pour les travaux Container Apps :
Nom de la variable |
Description |
Valeur d'exemple |
CONTAINER_APP_JOB_NAME |
Nom du travail. |
my-job |
CONTAINER_APP_JOB_EXECUTION_NAME |
Le nom de l’exécution du travail. |
my-job-iwpi4il |
Étapes suivantes