Share via


Gerenciar variáveis de ambiente

As variáveis de ambiente podem ser configuradas para influenciar como os recursos são provisionados e implantados no Azure. Isso é especialmente útil ao executar o 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ável de ambiente') e em arquivos de configuração de implantação, como manifestos de implantação para aks.

Exemplo: Substituição de parâmetro de entrada (Bicep)

Suponha que você tenha a variável de AZURE_LOCATION 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 configuraçã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-valuesou 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 pelo 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 Imediatamente antes de um ambiente ser provisionado pela primeira vez.
AZURE_PRINCIPAL_ID O usuário/entidade de serviço em execução. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Determinado automaticamente durante o provisionamento (efêmero).
AZURE_SUBSCRIPTION_ID A assinatura direcionada. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Imediatamente 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 no .env) ou definidas diretamente pelo usuário no ambiente (azd env set <key> <value>). azd lê os valores como configuração e desempenho 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 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 do 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 (terraform). ['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, 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 seu ID de assinatura na saída do console. 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 você 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"