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-values
ou 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"
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour