Verwalten von Umgebungsvariablen

Die Umgebungsvariablen beeinflussen, wie Ressourcen in Azure bereitgestellt und verteilt werden. Dies ist besonders nützlich, wenn Sie azd in CI/CD Workflow-Szenarien einsetzen.

Ersetzung von Eingabeparametern

Umgebungsvariablen können in Parameterdateien (*.parameters.json für Bicep, *.tfvars.json für Terraform) als Teil der Bereitstellung referenziert werden. Wenn eine Syntax zur Ersetzung einer Umgebungsvariablen gefunden wird, ersetzt azd den Verweis automatisch durch den tatsächlich eingestellten Wert der Umgebungsvariablen. Die Ersetzung erfolgt auch für bestimmte Konfigurationseinstellungen in azure.yaml (Eigenschaften, die mit 'Unterstützt die Substitution von Umgebungsvariablen' dokumentiert sind) und in Konfigurationsdateien für die Bereitstellung, wie z. B. den Bereitstellungsmanifesten für aks.

Beispiel für die Ersetzung von Eingabeparametern (Bizeps)

Angenommen, Sie haben die Umgebungsvariable AZURE_LOCATION gesetzt:

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

In der Datei main.parameters.json können Sie auf AZURE_LOCATION verweisen und eine Ersetzung der Umgebung mit der folgenden Syntax zulassen:

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

Umgebungsspezifische .env-Datei

Die Ausgaben für die Infrastrukturbereitstellung werden automatisch als Umgebungsvariablen in einer Datei .env gespeichert, die sich unter .azure/<environment name>/.env befindet. Diese Einrichtung ermöglicht es einer lokalen Anwendung oder Bereitstellungsskripten, in der .env-Datei gespeicherte Variablen zu verwenden, um bei Bedarf auf in Azure gehostete Ressourcen zu verweisen. Um diese Ausgaben zu sehen, führen Sie azd env get-values aus, oder azd env get-values --output json für die JSON-Ausgabe.

Umgebungsvariablen, bereitgestellt von azd

Im Folgenden finden Sie Variablen, die automatisch bereitgestellt werden von azd:

Name Beschreibung Beispiele Wenn verfügbar
AZURE_ENV_NAME Der Name der genutzten Umgebung. todo-app-dev Wenn eine Umgebung erstellt wird (z. B. nach der Ausführung von azd init oder azd env new).
AZURE_LOCATION Der Standort der genutzten Umgebung. eastus2 Kurz bevor eine Umgebung zum ersten Mal bereitgestellt wird.
AZURE_PRINCIPAL_ID Der laufende Benutzer/Dienstprinzipal. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Wird bei der Bereitstellung automatisch ermittelt (ephemer).
AZURE_SUBSCRIPTION_ID Das angestrebte Abonnement. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Kurz bevor eine Umgebung zum ersten Mal bereitgestellt wird.
SERVICE_<service>_IMAGE_NAME Der vollständige Name des Container-Images, das in Azure Container Registry für Container-App-Dienste veröffentlicht wurde. todoapp/web-dev:azdev-deploy-1664988805 Nach einer erfolgreichen Veröffentlichung eines containerapp-Images

Vom Benutzer zur Verfügung gestellte Umgebungsvariablen

Vom Benutzer bereitgestellte Variablen können als Infrastruktur-Ausgabeparameter (die automatisch in .env gespeichert werden) in der Datei main.bicep deklariert werden oder vom Benutzer direkt in der Umgebung (azd env set <key> <value>) gesetzt werden. azd liest die Werte als Konfiguration und führt sie anders aus.

Name Beschreibung Beispiele Effekte
AZURE_AKS_CLUSTER_NAME Der Name des Azure Kubernetes Service-Clusters, auf den Sie abzielen. aks-my-cluster Erforderliche Eigenschaft für die Bereitstellung eines aks-Dienstes.
AZURE_RESOURCE_GROUP Die spezifische Ressourcengruppe, auf die Sie abzielen. Zeichenkette eingeben. rg-todo-dev azd führt keine Ressourcengruppenerkennung durch und verweist stattdessen auf diese Ressourcengruppe. azd kontrolliert auch nicht die erstellten IaC-Konfigurationsdateien, sodass Änderungen an den IaC-Dateien erforderlich sein können.
AZURE_CONTAINER_REGISTRY_ENDPOINT Der Endpunkt der Azure Container Registry zur Veröffentlichung von Docker-Images. Zeichenkette eingeben. myexampleacr.azurecr.io Erforderliche Eigenschaft für die Bereitstellung eines containerapp oder aks Dienstes.
SERVICE_<service>_ENDPOINTS Die Endpunkte für den jeweiligen Dienst. Typ array (Bizeps) / list-equivalent (Terraform). ['endpoint1', 'endpoint2'] Legt die öffentlichen Endpunkte für den jeweiligen Dienst fest, die von azd für die Anzeige verwendet werden. Standardmäßig ermittelt azd die automatisch zugewiesenen Hostnamen für einen bestimmten Host, z. B. *.azurewebsites.net für appservice.

Demomodus einschalten

azd enthält einen Demo-Modus, der Ihre Abonnement-ID in der Konsolenausgabe verbirgt. Diese Funktion ist nützlich für Szenarien, in denen Sie azd-Befehle in einer öffentlichen Umgebung vorführen oder präsentieren möchten.

Der Demo-Modus führt die Umgebungsvariable: AZD_DEMO_MODE ein. Um den Demo-Modus zu aktivieren, führen Sie Folgendes aus:

export AZD_DEMO_MODE true

Wenn Sie möchten, dass der Demomodus über einen Neustart hinaus bestehen bleibt, können Sie auch Folgendes ausführen:

setx AZD_DEMO_MODE true

oder in PowerShell:

$env:AZD_DEMO_MODE="true"