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"