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-values
eller 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 .env
main.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"