Share via


Gérer les variables d’environnement

Les variables d’environnement peuvent être configurées pour influencer la façon dont les ressources sont approvisionnées et déployées sur Azure. Cela est particulièrement utile lors de l’exécution d’azd dans des scénarios de flux de travail CI/CD.

Substitution des paramètres d’entrée

Les variables d’environnement peuvent être référencées dans les fichiers de paramètres (*.parameters.json pour Bicep, *.tfvars.json pour Terraform) dans le cadre de l’approvisionnement. Lorsqu’une syntaxe de substitution de variable d’environnement est rencontrée, azd remplace automatiquement la référence par le jeu de valeurs de variable d’environnement réel. La substitution se produit également pour certains paramètres de configuration dans azure.yaml (propriétés documentées avec « Prise en charge de la substitution des variables d’environnement »), et dans les fichiers de configuration de déploiement, tels que les manifestes de déploiement pour aks.

Exemple : substitution de paramètre d’entrée (Bicep)

Supposons que vous disposez de la variable AZURE_LOCATION d’environnement définie :

export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'

Dans le main.parameters.json fichier, vous pouvez référencer AZURE_LOCATION et autoriser la substitution d’environnement à l’aide de la syntaxe suivante :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "location": {
      "value": "${AZURE_LOCATION}"
    }
  }
}

Fichier spécifique à .env l’environnement

Les sorties pour l’approvisionnement d’infrastructure sont automatiquement stockées en tant que variables d’environnement dans un .env fichier, située sous .azure/<environment name>/.env. Cette configuration permet à une application locale ou à des scripts de déploiement d’utiliser des variables stockées dans le .env fichier pour référencer les ressources hébergées par Azure si nécessaire. Pour afficher ces sorties, exécutez azd env get-valuesou azd env get-values --output json pour la sortie JSON.

Variables d’environnement fournies par azd

Voici les variables qui sont automatiquement fournies par azd:

Nom Description Exemples Lorsqu’il est disponible
AZURE_ENV_NAME Nom de l’environnement en cours d’utilisation. todo-app-dev Lorsqu’un environnement est créé (après avoir exécuté azd init ou azd env new, par exemple).
AZURE_LOCATION Emplacement de l’environnement en cours d’utilisation. eastus2 Juste avant l’approvisionnement d’un environnement pour la première fois.
AZURE_PRINCIPAL_ID Principal d’utilisateur/de service en cours d’exécution. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Déterminé automatiquement lors de l’approvisionnement (éphémère).
AZURE_SUBSCRIPTION_ID Abonnement ciblé. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Juste avant l’approvisionnement d’un environnement pour la première fois.
SERVICE_<service>_IMAGE_NAME Nom complet de l’image conteneur publiée dans Azure Container Registry pour les services d’application conteneur. todoapp/web-dev:azdev-deploy-1664988805 Après une publication réussie d’une containerapp image

Variables d’environnement fournies par l’utilisateur

Les variables fournies par l’utilisateur peuvent être déclarées en tant que paramètre de sortie d’infrastructure (qui est automatiquement stocké dans .env), ou définies directement par l’utilisateur dans l’environnement (azd env set <key> <value>). azd lit les valeurs en tant que configuration et s’exécute différemment.

Nom Description Exemples Effets
AZURE_AKS_CLUSTER_NAME Nom du cluster Azure Kubernetes Service à cibler. aks-my-cluster Propriété requise pour le déploiement d’un aks service.
AZURE_RESOURCE_GROUP Groupe de ressources spécifique à cibler. Chaîne de type. rg-todo-dev azd n’effectue pas de découverte de groupe de ressources et fait référence à ce groupe de ressources. azd ne contrôle pas non plus les fichiers de configuration IaC créés. Les modifications apportées aux fichiers IaC peuvent donc être nécessaires.
AZURE_CONTAINER_REGISTRY_ENDPOINT Point de terminaison Azure Container Registry pour publier une image Docker. Chaîne de type. myexampleacr.azurecr.io Propriété requise pour le déploiement d’un ou aks d’un containerapp service.
SERVICE_<service>_ENDPOINTS Points de terminaison du service particulier. Type array (bicep) / list-equivalent (terraform). ['endpoint1', 'endpoint2'] Définit les points de terminaison publics pour le service particulier sera utilisé par azd pour l’affichage. Par défaut, azd découvre les noms d’hôte attribués automatiquement pour un hôte donné, par *.azurewebsites.net exemple pour appservice.

Activer le mode de démonstration

azd inclut un mode de démonstration qui masque votre ID d’abonnement dans la sortie de la console. Cette fonctionnalité est utile pour les scénarios où vous souhaitez démonstration ou présenter azd des commandes dans un paramètre public.

Le mode de démonstration introduit la variable d’environnement : AZD_DEMO_MODE. Pour activer le mode de démonstration, exécutez :

export AZD_DEMO_MODE true

Si vous souhaitez que le mode de démonstration persiste entre les redémarrages, vous pouvez également exécuter :

setx AZD_DEMO_MODE true

ou dans PowerShell :

$env:AZD_DEMO_MODE="true"