Verwalten von Umgebungsvariablen

Umgebungsvariablen können konfiguriert werden, um zu beeinflussen, wie Ressourcen in Azure bereitgestellt und bereitgestellt werden. Dies ist besonders nützlich, wenn azd in CI/CD-Workflowszenarien ausgeführt wird.

Ersetzen von Eingabeparametern

Umgebungsvariablen können im Rahmen der Bereitstellung in Parameterdateien (*.parameters.json für Bicep, *.tfvars.json für Terraform) referenziert werden. Wenn eine Syntax für die Ersetzung von Umgebungsvariablen auftritt, azd wird der Verweis automatisch durch den tatsächlichen Umgebungsvariablenwertsatz ersetzt. Ersetzung tritt auch für bestimmte Konfigurationseinstellungen in azure.yaml (Eigenschaften, die mit "Unterstützt die Ersetzung von Umgebungsvariablen" dokumentiert sind) und in Bereitstellungskonfigurationsdateien, z. B. Bereitstellungsmanifesten für aks.

Beispiel: Ersetzung von Eingabeparametern (Bicep)

Angenommen, Sie haben die Umgebungsvariablen AZURE_LOCATION festgelegt:

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

In der Datei können Sie mithilfe der main.parameters.json folgenden Syntax auf die Ersetzung von Umgebungen verweisen AZURE_LOCATION und 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

Ausgaben für die Infrastrukturbereitstellung werden automatisch als Umgebungsvariablen in einer .env Datei gespeichert, die sich unter .azure/<environment name>/.envbefindet. Dieses Setup ermöglicht es einer lokalen Anwendung oder Bereitstellungsskripts, Variablen zu verwenden, die in der .env Datei gespeichert sind, um bei Bedarf auf von Azure gehostete Ressourcen zu verweisen. Um diese Ausgaben anzuzeigen, führen Sie die azd env get-valuesJSON-Ausgabe aus azd env get-values --output json .

Umgebungsvariablen, die von azd

Im Folgenden sind Variablen aufgeführt, die automatisch bereitgestellt werden:azd

Name Beschreibung Beispiele Wenn verfügbar
AZURE_ENV_NAME Der Name der verwendeten Umgebung. todo-app-dev Wenn eine Umgebung erstellt wird (z. B. nach dem Ausführen von azd init oder azd env neu).
AZURE_LOCATION Der Standort der verwendeten Umgebung. eastus2 Direkt vor der erstmaligen Bereitstellung einer Umgebung.
AZURE_PRINCIPAL_ID Der ausgeführte Benutzer-/Dienstprinzipal. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Wird während der Bereitstellung automatisch bestimmt (kurzlebig).
AZURE_SUBSCRIPTION_ID Das zielorientierte Abonnement. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Direkt vor der erstmaligen Bereitstellung einer Umgebung.
SERVICE_<service>_IMAGE_NAME Der vollständige Name des Containerimages, das in azure Container Registry für Container-App-Dienste veröffentlicht wurde. todoapp/web-dev:azdev-deploy-1664988805 Nach erfolgreicher Veröffentlichung eines containerapp Bilds

Vom Benutzer bereitgestellte Umgebungsvariablen

Vom Benutzer bereitgestellte Variablen können als Infrastrukturausgabeparameter deklariert werden (der automatisch gespeichert .envwird), oder direkt vom Benutzer in der Umgebung (azd env set <key> <value>) festgelegt werden. azd liest die Werte als Konfiguration und führt anders aus.

Name Beschreibung Beispiele Effekte
AZURE_AKS_CLUSTER_NAME Der Name des Azure Kubernetes-Dienstclusters, der als Ziel verwendet werden soll. aks-my-cluster Erforderliche Eigenschaft für die Bereitstellung eines aks Diensts.
AZURE_RESOURCE_GROUP Die spezifische Ressourcengruppe, die als Ziel festgelegt werden soll. Typzeichenfolge. rg-todo-dev azd führt keine Ressourcengruppenermittlung durch und verweist stattdessen auf diese Ressourcengruppe. azd steuert auch nicht die erstellten IaC-Konfigurationsdateien, daher können Änderungen an IaC-Dateien erforderlich sein.
AZURE_CONTAINER_REGISTRY_ENDPOINT Der Azure Container Registry-Endpunkt zum Veröffentlichen des Docker-Images. Typzeichenfolge. myexampleacr.azurecr.io Erforderliche Eigenschaft für die Bereitstellung eines containerapp Oder aks Diensts.
SERVICE_<service>_ENDPOINTS Die Endpunkte für den jeweiligen Dienst. Typ array (Icep) / list-equivalent (Terraform). ['endpoint1', 'endpoint2'] Legt die öffentlichen Endpunkte für den bestimmten Dienst fest, wird von azd für die Anzeige verwendet. Standardmäßig ermittelt azd die automatisch zugewiesenen Hostnamen für einen bestimmten Host, z *.azurewebsites.net . B. für appservice.