Gerenciar variáveis de ambiente

As variáveis de ambiente influenciam como os recursos são provisionados e implantados no Azure. Isso é especialmente útil ao executar azd em cenários de fluxo de trabalho de CI/CD.

Substituição de parâmetros de entrada

As variáveis de ambiente podem ser referenciadas em arquivos de parâmetros (*.parameters.json para Bicep, *.tfvars.json para Terraform) como parte do provisionamento. Quando uma sintaxe de substituição de variável de ambiente é encontrada, azd substitui automaticamente a referência pelo conjunto de valores da variável de ambiente real. A substituição também ocorre para determinadas definições de configuração em azure.yaml (propriedades documentadas com 'Suporta substituição de variáveis de ambiente') e em arquivos de configuração de implantação, como manifestos de implantação para aks.

Exemplo de substituição de parâmetros de entrada (Bicep)

Suponha que você tenha a variável AZURE_LOCATION de ambiente definida:

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

main.parameters.json No arquivo, você pode fazer referência AZURE_LOCATION e permitir a substituição de ambiente usando a seguinte sintaxe:

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

Arquivo específico .env do ambiente

As saídas para provisionamento de infraestrutura são armazenadas automaticamente como variáveis de ambiente em um .env arquivo, localizado em .azure/<environment name>/.env. Essa instalação permite que um aplicativo local, ou scripts de implantação, use variáveis armazenadas no arquivo para fazer referência a recursos hospedados no .env Azure, se necessário. Para ver essas saídas, execute azd env get-values, ou azd env get-values --output json para saída JSON.

Variáveis de ambiente fornecidas por azd

A seguir estão as variáveis que são fornecidas automaticamente por azd:

Nome Descrição Exemplos Quando disponível
AZURE_ENV_NAME O nome do ambiente em uso. todo-app-dev Quando um ambiente é criado (depois de executar azd init ou azd env new, por exemplo).
AZURE_LOCATION A localização do ambiente em uso. eastus2 Logo antes de um ambiente ser provisionado pela primeira vez.
AZURE_PRINCIPAL_ID A entidade de usuário/serviço em execução. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Determinado automaticamente durante o provisionamento (efêmero).
AZURE_SUBSCRIPTION_ID A subscrição pretendida. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Logo antes de um ambiente ser provisionado pela primeira vez.
SERVICE_<service>_IMAGE_NAME O nome completo da imagem de contêiner publicada no Registro de Contêiner do Azure para serviços de aplicativo de contêiner. todoapp/web-dev:azdev-deploy-1664988805 Após uma publicação bem-sucedida de uma containerapp imagem

Variáveis de ambiente fornecidas pelo usuário

As variáveis fornecidas pelo usuário podem ser declaradas como um parâmetro de saída de infraestrutura (que é armazenado automaticamente em .env) no main.bicep arquivo ou definidas diretamente pelo usuário no ambiente (azd env set <key> <value>). azd lê os valores como configuração e executa de forma diferente.

Nome Descrição Exemplos Efeitos
AZURE_AKS_CLUSTER_NAME O nome do cluster do Serviço Kubernetes do Azure a ser direcionado. aks-my-cluster Propriedade necessária para a implantação de um aks serviço.
AZURE_RESOURCE_GROUP O grupo de recursos específico a ser direcionado. Digite string. rg-todo-dev azd não executará a descoberta de grupo de recursos e, em vez disso, fará referência a esse grupo de recursos. azd também não controla os arquivos de configuração IaC criados, portanto, alterações nos arquivos IaC podem ser necessárias.
AZURE_CONTAINER_REGISTRY_ENDPOINT O ponto de extremidade do Registro de Contêiner do Azure para publicar a imagem do docker. Digite string. myexampleacr.azurecr.io Propriedade necessária para implantação de um containerapp ou aks serviço.
SERVICE_<service>_ENDPOINTS Os pontos de extremidade para o serviço específico. Tipo array (bíceps) / list-equivalent (terraforme). ['endpoint1', 'endpoint2'] Define os pontos de extremidade públicos para o serviço específico que será usado pelo azd para exibição. Por padrão, azd descobre os nomes de host atribuídos automaticamente para um determinado host, como *.azurewebsites.net para appservice.

Ativar o modo de demonstração

azd inclui um modo de demonstração que oculta o ID da sua subscrição na saída da consola. Esse recurso é útil para cenários em que você deseja demonstrar ou apresentar azd comandos em uma configuração pública.

O modo de demonstração introduz a variável de ambiente: AZD_DEMO_MODE. Para ativar o modo de demonstração, execute:

export AZD_DEMO_MODE true

Se quiser que o modo de demonstração persista nas reinicializações, você também pode executar:

setx AZD_DEMO_MODE true

ou no PowerShell:

$env:AZD_DEMO_MODE="true"