Delen via


Omgevingsvariabelen beheren

Omgevingsvariabelen beïnvloeden hoe resources worden ingericht en geïmplementeerd in Azure. Dit is vooral handig bij het uitvoeren van azd in CI/CD-werkstroomscenario's.

Vervanging van invoerparameters

Er kan naar omgevingsvariabelen worden verwezen in parameterbestanden (*.parameters.json voor Bicep, *.tfvars.json voor Terraform) als onderdeel van het inrichten. Wanneer er een syntaxis voor vervanging van een omgevingsvariabele wordt aangetroffen, azd wordt de verwijzing automatisch vervangen door de werkelijke waardeset van de omgevingsvariabele. Vervanging vindt ook plaats voor bepaalde configuratie-instellingen in azure.yaml (eigenschappen die worden gedocumenteerd met 'Ondersteunt vervanging van omgevingsvariabelen' en in implementatieconfiguratiebestanden, zoals implementatiemanifesten voor aks.

Voorbeeld van vervanging van invoerparameter (Bicep)

Stel dat u de omgevingsvariabele AZURE_LOCATION hebt ingesteld:

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

In het main.parameters.json bestand kunt u verwijzen naar AZURE_LOCATION en het vervangen van de omgeving toestaan met behulp van de volgende syntaxis:

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

Omgevingsspecifiek .env bestand

Uitvoer voor het inrichten van infrastructuur wordt automatisch opgeslagen als omgevingsvariabelen in een .env bestand, onder .azure/<environment name>/.env. Met deze installatie kan een lokale toepassing of implementatiescripts variabelen gebruiken die zijn opgeslagen in het .env bestand om zo nodig te verwijzen naar door Azure gehoste resources. Als u deze uitvoer wilt zien, voert u uit azd env get-valuesof azd env get-values --output json voor JSON-uitvoer.

Omgevingsvariabelen geleverd door azd

Hieronder ziet u variabelen die automatisch worden geleverd door azd:

Name Beschrijving Voorbeelden Indien beschikbaar
AZURE_ENV_NAME De naam van de omgeving die wordt gebruikt. todo-app-dev Wanneer een omgeving wordt gemaakt (bijvoorbeeld nadat u azd init of azd env new hebt uitgevoerd).
AZURE_LOCATION De locatie van de omgeving die in gebruik is. eastus2 Vlak voordat een omgeving voor het eerst wordt ingericht.
AZURE_PRINCIPAL_ID De actieve gebruiker/service-principal. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Automatisch bepaald tijdens het inrichten (kortstondig).
AZURE_SUBSCRIPTION_ID Het doelabonnement. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Vlak voordat een omgeving voor het eerst wordt ingericht.
SERVICE_<service>_IMAGE_NAME De volledige naam van de containerinstallatiekopieën die zijn gepubliceerd naar Azure Container Registry voor container-app-services. todoapp/web-dev:azdev-deploy-1664988805 Na een geslaagde publicatie van een containerapp afbeelding

Door de gebruiker geleverde omgevingsvariabelen

Door de gebruiker geleverde variabelen kunnen worden gedeclareerd als een infrastructuuruitvoerparameter (die automatisch wordt opgeslagen in .env) in het main.bicep bestand of rechtstreeks door de gebruiker in de omgeving (azd env set <key> <value>). azd leest de waarden als configuratie en voert deze anders uit.

Name Beschrijving Voorbeelden Effecten
AZURE_AKS_CLUSTER_NAME De naam van het Azure Kubernetes Service-cluster dat moet worden gericht. aks-my-cluster Vereiste eigenschap voor de implementatie van een aks service.
AZURE_RESOURCE_GROUP De specifieke resourcegroep die moet worden gericht. Typ een tekenreeks. rg-todo-dev azd voert de detectie van resourcegroepen niet uit en verwijst in plaats daarvan naar deze resourcegroep. azd heeft ook geen controle over de geschreven IaC-configuratiebestanden, waardoor wijzigingen in IaC-bestanden mogelijk nodig zijn.
AZURE_CONTAINER_REGISTRY_ENDPOINT Het Azure Container Registry-eindpunt voor het publiceren van docker-installatiekopieën. Typ een tekenreeks. myexampleacr.azurecr.io Vereiste eigenschap voor de implementatie van een containerapp of aks service.
SERVICE_<service>_ENDPOINTS De eindpunten voor de specifieke service. Typ array (bicep) / list-equivalent (terraform). ['endpoint1', 'endpoint2'] Hiermee stelt u de openbare eindpunten voor de specifieke service in voor weergave door azd. Standaard detecteert azd de automatisch toegewezen hostnamen voor een bepaalde host, zoals *.azurewebsites.net voor appservice.

Demomodus inschakelen

azd bevat een demomodus waarmee uw abonnements-id in de console-uitvoer wordt verborgen. Deze functie is handig voor scenario's waarin u opdrachten wilt demo's of presenteren azd in een openbare instelling.

In de demomodus wordt de omgevingsvariabele geïntroduceerd: AZD_DEMO_MODE. Voer de volgende opdracht uit om de demomodus in te schakelen:

export AZD_DEMO_MODE true

Als u wilt dat de demomodus behouden blijft tijdens het opnieuw opstarten, kunt u ook het volgende uitvoeren:

setx AZD_DEMO_MODE true

of in PowerShell:

$env:AZD_DEMO_MODE="true"