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-values
of 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"