Zarządzanie zmiennymi środowiskowymi

Zmienne środowiskowe można skonfigurować tak, aby wpływały na sposób aprowizowania i wdrażania zasobów na platformie Azure. Jest to szczególnie przydatne w przypadku uruchamiania azd w scenariuszach przepływu pracy ciągłej integracji/ciągłego wdrażania.

Podstawianie parametrów wejściowych

Zmienne środowiskowe można odwoływać się w plikach parametrów (*.parameters.json dla narzędzia Bicep *.tfvars.json dla programu Terraform) w ramach aprowizacji. Gdy napotkana jest składnia podstawienia zmiennej środowiskowej, azd automatycznie zastępuje odwołanie rzeczywistym zestawem wartości zmiennej środowiskowej. Podstawianie występuje również w przypadku niektórych ustawień konfiguracji w programie azure.yaml (właściwości udokumentowanych za pomocą polecenia "Obsługuje podstawianie zmiennych środowiskowych") i w plikach konfiguracji wdrożenia, takich jak manifesty wdrożenia dla programu aks.

Przykład: podstawianie parametrów wejściowych (Bicep)

Załóżmy, że masz zestaw zmiennych AZURE_LOCATION środowiskowych:

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

main.parameters.json W pliku można odwoływać się AZURE_LOCATION do podstawiania środowiska i zezwalać na ich podstawienie przy użyciu następującej składni:

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

Plik specyficzny dla .env środowiska

Dane wyjściowe aprowizacji infrastruktury są automatycznie przechowywane jako zmienne środowiskowe w pliku znajdującym się w .env.azure/<environment name>/.envlokalizacji . Ta konfiguracja umożliwia używanie zmiennych przechowywanych w .env pliku w celu odwoływania się do zasobów hostowanych przez platformę Azure w razie potrzeby. Aby wyświetlić te dane wyjściowe, uruchom polecenie azd env get-valueslub azd env get-values --output json w przypadku danych wyjściowych JSON.

Zmienne środowiskowe udostępniane przez azd

Poniżej przedstawiono zmienne, które są automatycznie udostępniane przez program azd:

Nazwa/nazwisko opis Przykłady Gdy jest dostępny
AZURE_ENV_NAME Nazwa używanego środowiska. todo-app-dev Po utworzeniu środowiska (na przykład po uruchomieniu azd init lub azd env new).
AZURE_LOCATION Lokalizacja środowiska w użyciu. eastus2 Bezpośrednio przed zainicjowaniem obsługi administracyjnej środowiska po raz pierwszy.
AZURE_PRINCIPAL_ID Uruchomiona jednostka użytkownika/usługi. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Określana automatycznie podczas aprowizacji (efemeryczna).
AZURE_SUBSCRIPTION_ID Subskrypcja docelowa. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Bezpośrednio przed zainicjowaniem obsługi administracyjnej środowiska po raz pierwszy.
SERVICE_<service>_IMAGE_NAME Pełna nazwa obrazu kontenera opublikowanego w usłudze Azure Container Registry dla usług app services kontenera. todoapp/web-dev:azdev-deploy-1664988805 Po pomyślnym opublikowaniu containerapp obrazu

Zmienne środowiskowe udostępniane przez użytkownika

Zmienne dostarczane przez użytkownika można zadeklarować jako parametr wyjściowy infrastruktury (który jest automatycznie przechowywany w .envsystemie ) lub ustawiany bezpośrednio przez użytkownika w środowisku (azd env set <key> <value>). azd odczytuje wartości jako konfigurację i wykonuje inaczej.

Nazwa/nazwisko opis Przykłady Efekty
AZURE_AKS_CLUSTER_NAME Nazwa klastra usługi Azure Kubernetes Service, który ma być docelowy. aks-my-cluster Wymagana właściwość do wdrożenia aks usługi.
AZURE_RESOURCE_GROUP Określona grupa zasobów docelowa. Wpisz ciąg. rg-todo-dev azd Nie będzie wykonywać odnajdywania grup zasobów, a zamiast tego odwołuje się do tej grupy zasobów. azd Nie kontroluje również utworzonych plików konfiguracji IaC, dlatego mogą być potrzebne zmiany w plikach IaC.
AZURE_CONTAINER_REGISTRY_ENDPOINT Punkt końcowy usługi Azure Container Registry do publikowania obrazu platformy Docker. Wpisz ciąg. myexampleacr.azurecr.io Wymagana właściwość do wdrożenia containerapp usługi lub aks .
SERVICE_<service>_ENDPOINTS Punkty końcowe dla określonej usługi. Typ array (bicep) / list-equivalent (terraform). ['endpoint1', 'endpoint2'] Ustawia publiczne punkty końcowe dla określonej usługi będą używane przez azd do wyświetlania. Domyślnie azd odnajduje automatycznie przypisane nazwy hostów dla danego hosta, takie jak *.azurewebsites.net dla appservice.