Dela via


Hantera miljövariabler

Miljövariabler påverkar hur resurser etableras och distribueras till Azure. Detta är särskilt användbart när du kör azd i CI/CD-arbetsflödesscenarier.

Ersättning av indataparametrar

Miljövariabler kan refereras i parameterfiler (*.parameters.json för Bicep, *.tfvars.json för Terraform) som en del av etableringen. När en syntax för miljövariabelersättning påträffas azd ersätter referensen automatiskt med den faktiska miljövariabelns värdeuppsättning. Ersättning sker också för vissa konfigurationsinställningar i azure.yaml (egenskaper som dokumenteras med "Stöder miljövariabelersättning") och i konfigurationsfiler för distribution, till exempel distributionsmanifest för aks.

Exempel på ersättning av indataparameter (Bicep)

Anta att du har en miljövariabeluppsättning AZURE_LOCATION :

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

main.parameters.json I filen kan du referera till AZURE_LOCATION och tillåta miljöersättning med hjälp av följande syntax:

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

Miljöspecifik .env fil

Utdata för infrastrukturetablering lagras automatiskt som miljövariabler i en .env fil under .azure/<environment name>/.env. Med den här konfigurationen kan ett lokalt program eller distributionsskript använda variabler som lagras i .env filen för att referera till Azure-värdbaserade resurser om det behövs. Om du vill se dessa utdata kör du azd env get-valueseller azd env get-values --output json för JSON-utdata.

Miljövariabler som tillhandahålls av azd

Följande är variabler som automatiskt tillhandahålls av azd:

Name beskrivning Exempel När det är tillgängligt
AZURE_ENV_NAME Namnet på den miljö som används. todo-app-dev När en miljö skapas (till exempel när azd init eller azd env new har körts).
AZURE_LOCATION Platsen för den miljö som används. eastus2 Precis innan en miljö etableras för första gången.
AZURE_PRINCIPAL_ID Användarens/tjänstens huvudnamn som körs. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Bestäms automatiskt under etablering (tillfälliga).
AZURE_SUBSCRIPTION_ID Målprenumerationen. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Precis innan en miljö etableras för första gången.
SERVICE_<service>_IMAGE_NAME Det fullständiga namnet på containeravbildningen som publicerats till Azure Container Registry för containerapptjänster. todoapp/web-dev:azdev-deploy-1664988805 Efter en lyckad publicering av en containerapp bild

Miljövariabler som tillhandahålls av användaren

Variabler som tillhandahålls av användaren kan deklareras som en infrastrukturutdataparameter (som automatiskt lagras i ) i .envmain.bicep filen eller anges direkt av användaren i miljön (azd env set <key> <value>). azd läser värdena som konfiguration och presterar annorlunda.

Name beskrivning Exempel Effekter
AZURE_AKS_CLUSTER_NAME Namnet på Azure Kubernetes Service-klustret som ska riktas. aks-my-cluster Nödvändig egenskap för distribution av en aks tjänst.
AZURE_RESOURCE_GROUP Den specifika resursgrupp som ska riktas. Skriv sträng. rg-todo-dev azd kommer inte att utföra resursgruppsidentifiering och refererar i stället till den här resursgruppen. azd styr inte heller de författade IaC-konfigurationsfilerna, vilket innebär att ändringar i IaC-filer kan behövas.
AZURE_CONTAINER_REGISTRY_ENDPOINT Azure Container Registry-slutpunkten för att publicera docker-avbildningen. Skriv sträng. myexampleacr.azurecr.io Nödvändig egenskap för distribution av en containerapp eller aks tjänst.
SERVICE_<service>_ENDPOINTS Slutpunkterna för den specifika tjänsten. Typ array (bicep) / list-equivalent (terraform). ['endpoint1', 'endpoint2'] Anger de offentliga slutpunkterna för den specifika tjänsten som ska användas av azd för visning. Som standard identifierar azd automatiskt tilldelade värdnamn för en viss värd, till exempel *.azurewebsites.net för appservice.

Aktivera demoläge

azd innehåller ett demoläge som döljer ditt prenumerations-ID i konsolens utdata. Den här funktionen är användbar för scenarier där du vill demonstrera eller presentera azd kommandon i en offentlig inställning.

Demoläget introducerar miljövariabeln: AZD_DEMO_MODE. Om du vill aktivera demoläge kör du:

export AZD_DEMO_MODE true

Om du vill att demoläget ska bevaras mellan omstarter kan du också köra:

setx AZD_DEMO_MODE true

eller i PowerShell:

$env:AZD_DEMO_MODE="true"