Gérer les variables d’environnement
Les variables d’environnement ont un impact sur 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 workflow 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 d’une variable d’environnement est détecté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 de substitution de paramètre d’entrée (Bicep)
Supposons la variable d’environnement AZURE_LOCATION
soit définie :
export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'
Dans le fichier main.parameters.json
, vous pouvez référencer AZURE_LOCATION
et autoriser la substitution de l’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 .env
spécifique à l’environnement
Les sorties pour l’approvisionnement d’infrastructure sont automatiquement stockées en tant que variables d’environnement dans un fichier .env
, 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 fichier .env
pour référencer les ressources hébergées par Azure si nécessaire. Pour afficher ces sorties, exécutez azd env get-values
, ou azd env get-values --output json
pour la sortie JSON.
Variables d’environnement fournies par azd
Les variables suivantes sont automatiquement fournies par azd
:
Nom | Description | Exemples | Si disponible |
---|---|---|---|
AZURE_ENV_NAME |
Nom de la variable d’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 de l’utilisateur/du 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 cible. | 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 la publication réussie d’une image containerapp |
Variables d’environnement fournies par l’utilisateur
Les variables fournies par l’utilisateur peuvent être déclarées en tant que paramètres de sortie d’infrastructure (qui est automatiquement stocké dans .env
) dans le fichier main.bicep
ou définies directement par l’utilisateur dans l’environnement (azd env set <key> <value>
). azd
lit les valeurs en tant que configuration et se comporte 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 service aks . |
AZURE_RESOURCE_GROUP |
Groupe de ressources spécifique à cibler. Tapez chaîne. | 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 de l’IaC créés, de sorte que des modifications des fichiers de l’IaC peuvent s’avérer nécessaires. |
AZURE_CONTAINER_REGISTRY_ENDPOINT |
Point de terminaison Azure Container Registry pour publier l’image Docker. Tapez chaîne. | myexampleacr.azurecr.io |
Propriété requise pour le déploiement d’un service containerapp ou aks . |
SERVICE_<service>_ENDPOINTS |
Points de terminaison du service particulier. Tapez array (bicep) / list-equivalent (terraform). |
['endpoint1', 'endpoint2'] |
Définit les points de terminaison publics pour le service particulier qui seront utilisés 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 exemple *.azurewebsites.net pour appservice . |
Activer le mode démo
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 dans lesquels vous souhaitez faire une démonstration ou présenter des commandes azd
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"