Gestire le variabili di ambiente
Le variabili di ambiente influiscono sulla modalità di provisioning e distribuzione delle risorse in Azure. Ciò è particolarmente utile quando si esegue azd negli scenari del flusso di lavoro CI/CD.
Sostituzione dei parametri di input
È possibile fare riferimento alle variabili di ambiente nei file di parametri (*.parameters.json
per Bicep *.tfvars.json
, per Terraform) come parte del provisioning. Quando viene rilevata una sintassi di sostituzione delle variabili di ambiente, azd
sostituisce automaticamente il riferimento con il valore effettivo della variabile di ambiente impostato. La sostituzione avviene anche per determinate impostazioni di configurazione in azure.yaml
(proprietà documentate con 'Supporta la sostituzione delle variabili di ambiente') e nei file di configurazione della distribuzione, ad esempio i manifesti di distribuzione per aks
.
Esempio di sostituzione dei parametri di input (Bicep)
Si supponga di avere impostato la variabile AZURE_LOCATION
di ambiente:
export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'
main.parameters.json
Nel file è possibile fare riferimento AZURE_LOCATION
e consentire la sostituzione dell'ambiente usando la sintassi seguente:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value": "${AZURE_LOCATION}"
}
}
}
File specifico dell'ambiente .env
Gli output per il provisioning dell'infrastruttura vengono archiviati automaticamente come variabili di ambiente in un .env
file, che si trova in .azure/<environment name>/.env
. Questa configurazione consente a un'applicazione locale, o script di distribuzione, di usare le variabili archiviate nel .env
file per fare riferimento alle risorse ospitate in Azure, se necessario. Per visualizzare questi output, eseguire azd env get-values
o azd env get-values --output json
per l'output JSON.
Variabili di ambiente fornite da azd
Di seguito sono riportate le variabili fornite automaticamente da azd
:
Nome | Descrizione | Esempi | Quando disponibile |
---|---|---|---|
AZURE_ENV_NAME |
Nome dell'ambiente in uso. | todo-app-dev |
Quando viene creato un ambiente (ad esempio, dopo l'esecuzione di azd init o azd env new). |
AZURE_LOCATION |
Posizione dell'ambiente in uso. | eastus2 |
Prima del provisioning di un ambiente per la prima volta. |
AZURE_PRINCIPAL_ID |
Entità utente/servizio in esecuzione. | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
Determinato automaticamente durante il provisioning (temporaneo). |
AZURE_SUBSCRIPTION_ID |
Sottoscrizione di destinazione. | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
Prima del provisioning di un ambiente per la prima volta. |
SERVICE_<service>_IMAGE_NAME |
Nome completo dell'immagine del contenitore pubblicata in Registro Azure Container per i servizi app contenitore. | todoapp/web-dev:azdev-deploy-1664988805 |
Dopo la corretta pubblicazione di un'immagine containerapp |
Variabili di ambiente fornite dall'utente
Le variabili fornite dall'utente possono essere dichiarate come parametro di output dell'infrastruttura (archiviate automaticamente in .env
) nel main.bicep
file o impostate direttamente dall'utente nell'ambiente (azd env set <key> <value>
). azd
legge i valori come configurazione ed esegue in modo diverso.
Nome | Descrizione | Esempi | Effetti |
---|---|---|---|
AZURE_AKS_CLUSTER_NAME |
Nome del cluster servizio Azure Kubernetes di destinazione. | aks-my-cluster |
Proprietà obbligatoria per la distribuzione di un aks servizio. |
AZURE_RESOURCE_GROUP |
Gruppo di risorse specifico di destinazione. Stringa di tipo. | rg-todo-dev |
azd non eseguirà l'individuazione del gruppo di risorse e fa invece riferimento a questo gruppo di risorse. azd inoltre non controlla i file di configurazione IaC creati, pertanto potrebbero essere necessarie modifiche ai file IaC. |
AZURE_CONTAINER_REGISTRY_ENDPOINT |
Endpoint Registro Azure Container per pubblicare l'immagine Docker. Stringa di tipo. | myexampleacr.azurecr.io |
Proprietà obbligatoria per la distribuzione di un containerapp servizio o aks . |
SERVICE_<service>_ENDPOINTS |
Endpoint per il servizio specifico. Tipo array (bicep) / list-equivalent (terraform). |
['endpoint1', 'endpoint2'] |
Imposta gli endpoint pubblici per il servizio specifico verrà usato da azd per display. Per impostazione predefinita, azd individua i nomi host assegnati automaticamente per un determinato host, ad esempio *.azurewebsites.net per appservice . |
Abilitare la modalità demo
azd
include una modalità demo che nasconde l'ID sottoscrizione nell'output della console. Questa funzionalità è utile per gli scenari in cui si desidera eseguire la demo o presentare azd
comandi in un'impostazione pubblica.
La modalità demo introduce la variabile di ambiente: AZD_DEMO_MODE
. Per abilitare la modalità demo, eseguire:
export AZD_DEMO_MODE true
Se si vuole rendere persistente la modalità demo tra i riavvii, è anche possibile eseguire:
setx AZD_DEMO_MODE true
o in PowerShell:
$env:AZD_DEMO_MODE="true"