Zarządzanie zmiennymi środowiskowymi
Zmienne środowiskowe wpływają 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 podstawienia 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>/.env
lokalizacji . 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-values
lub 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 .env
main.bicep
pliku ) lub ustawiać 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 . |
Włącz tryb demonstracyjny
azd
zawiera tryb demonstracyjny, który ukrywa identyfikator subskrypcji w danych wyjściowych konsoli. Ta funkcja jest przydatna w scenariuszach, w których chcesz pokazować lub prezentować azd
polecenia w ustawieniu publicznym.
Tryb demonstracyjny wprowadza zmienną środowiskową: AZD_DEMO_MODE
. Aby włączyć tryb demonstracyjny, uruchom polecenie:
export AZD_DEMO_MODE true
Jeśli chcesz, aby tryb demonstracyjny był utrwalany podczas ponownych uruchomień, możesz również uruchomić następujące polecenie:
setx AZD_DEMO_MODE true
lub w programie PowerShell:
$env:AZD_DEMO_MODE="true"