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âmetro (*.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 de 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 de substituição de parâmetro de entrada (Bicep)
Suponha que você tenha a variável de ambiente AZURE_LOCATION
definida:
export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'
No arquivo main.parameters.json
você pode referenciar 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 .env
específico do ambiente
As saídas para provisionamento de infraestrutura são armazenadas automaticamente como variáveis de ambiente em um arquivo .env
, localizado em .azure/<environment name>/.env
. Essa configuração permite que um aplicativo local ou scripts de implantação usem variáveis armazenadas no arquivo .env
para fazer referência a recursos hospedados no 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 |
O local do ambiente em uso. | eastus2 |
Logo 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 |
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 imagem containerapp |
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
) no arquivo main.bicep
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 Azure Kubernetes a ser direcionado. | aks-my-cluster |
Propriedade necessária para a implantação de um serviço aks . |
AZURE_RESOURCE_GROUP |
O grupo de recursos específico a ser direcionado. Tipo de cadeia de caracteres. | 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 de IaC criados, portanto, podem ser necessárias alterações nos arquivos de IaC. |
AZURE_CONTAINER_REGISTRY_ENDPOINT |
O ponto de extremidade do Registro de Contêiner do Azure para publicar a imagem do docker. Tipo de cadeia de caracteres. | myexampleacr.azurecr.io |
Propriedade necessária para a implantação de um containerapp ou serviço aks . |
SERVICE_<service>_ENDPOINTS |
Os pontos de extremidade do 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ão usados por 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 . |
Habilitar o modo de demonstração
azd
inclui um modo de demonstração que oculta sua ID de assinatura na saída do console. Esse recurso é útil para cenários em que você deseja demonstrar ou apresentar comandos azd
em uma configuração pública.
O modo de demonstração apresenta a variável de ambiente: AZD_DEMO_MODE
. Para habilitar o modo de demonstração, execute:
export AZD_DEMO_MODE true
Se você quiser que o modo de demonstração persista entre as reinicializações, você também pode executar:
setx AZD_DEMO_MODE true
ou no PowerShell:
$env:AZD_DEMO_MODE="true"