Condividi tramite


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-valueso 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"