Administrar variables de entorno
Las variables de entorno influyen en cómo se aprovisionan e implementan los recursos en Azure. Esto resulta especialmente útil cuando se ejecuta azd en escenarios de flujo de trabajo de CI/CD.
Sustitución de parámetros de entrada
Se puede hacer referencia a las variables de entorno en archivos de parámetros (*.parameters.json
para Bicep, *.tfvars.json
para Terraform) como parte del aprovisionamiento. Cuando se encuentra una sintaxis de sustitución de variables de entorno, azd
sustituye automáticamente la referencia por el valor de variable de entorno real establecido. La sustitución también se produce para determinadas opciones de configuración en azure.yaml
(propiedades documentadas con "Admite sustitución de variables de entorno" y en archivos de configuración de implementación, como manifiestos de implementación para aks
.
Ejemplo de sustitución de parámetros de entrada (Bicep)
Supongamos que tiene establecida la variable de entorno AZURE_LOCATION
:
export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'
En el archivo main.parameters.json
, puede hacer referencia a AZURE_LOCATION
y permitir la sustitución del entorno mediante la sintaxis siguiente:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value": "${AZURE_LOCATION}"
}
}
}
Archivo .env
específico del entorno
Las salidas para el aprovisionamiento de infraestructura se almacenan automáticamente como variables de entorno en un archivo .env
, ubicado en .azure/<environment name>/.env
. Esta configuración permite que una aplicación local o scripts de implementación usen variables almacenadas en el archivo .env
para hacer referencia a recursos hospedados en Azure si es necesario. Para ver estas salidas, ejecute azd env get-values
o azd env get-values --output json
para la salida JSON.
Variables de entorno proporcionadas por azd
A continuación se muestran las variables que proporciona azd
automáticamente:
Nombre | Descripción | Ejemplos | Cuando está disponible |
---|---|---|---|
AZURE_ENV_NAME |
Nombre del entorno en uso. | todo-app-dev |
Cuando se crea un entorno (después de ejecutar azd init o azd env new, por ejemplo). |
AZURE_LOCATION |
Ubicación del entorno en uso. | eastus2 |
Justo antes de que se aprovisione un entorno por primera vez. |
AZURE_PRINCIPAL_ID |
Entidad de servicio o usuario en ejecución. | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
Se determina automáticamente durante el aprovisionamiento (efímero). |
AZURE_SUBSCRIPTION_ID |
Suscripción de destino. | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
Justo antes de que se aprovisione un entorno por primera vez. |
SERVICE_<service>_IMAGE_NAME |
Nombre completo de la imagen de contenedor publicada en Azure Container Registry para los servicios de aplicaciones de contenedor. | todoapp/web-dev:azdev-deploy-1664988805 |
Después de una publicación correcta de una imagen containerapp |
Variables de entorno proporcionadas por el usuario
Las variables proporcionadas por el usuario se pueden declarar como un parámetro de salida de infraestructura (que se almacena automáticamente en .env
) en el archivo main.bicep
o las establece directamente el usuario en el entorno (azd env set <key> <value>
). azd
lee los valores como configuración y actúa de forma diferente.
Nombre | Descripción | Ejemplos | Efectos |
---|---|---|---|
AZURE_AKS_CLUSTER_NAME |
Nombre del clúster de Azure Kubernetes Service de destino. | aks-my-cluster |
Propiedad necesaria para la implementación de un servicio aks . |
AZURE_RESOURCE_GROUP |
Grupo de recursos específico de destino. Tipo cadena. | rg-todo-dev |
azd no realizará la detección de grupos de recursos y, en su lugar, hará referencia a este grupo de recursos. azd tampoco controla los archivos de configuración de IaC creados, por lo que es posible que se necesiten cambios en los archivos IaC. |
AZURE_CONTAINER_REGISTRY_ENDPOINT |
Punto de conexión de Azure Container Registry para publicar la imagen de docker. Tipo cadena. | myexampleacr.azurecr.io |
Propiedad necesaria para la implementación de un servicio containerapp o aks . |
SERVICE_<service>_ENDPOINTS |
Puntos de conexión del servicio en particular. Tipo array (bicep) / list-equivalent (terraform). |
['endpoint1', 'endpoint2'] |
Establece los puntos de conexión públicos para el servicio determinado que usará azd para mostrar. De forma predeterminada, azd detecta los nombres de host asignados automáticamente para un host determinado, como *.azurewebsites.net para appservice . |
Habilitación del modo de demostración
azd
incluye un modo de demostración que oculta el identificador de suscripción en la salida de la consola. Esta característica es útil para escenarios en los que desea mostrar o presentar comandos azd
en una configuración pública.
El modo de demostración presenta la variable de entorno: AZD_DEMO_MODE
. Para habilitar el modo de demostración, ejecute:
export AZD_DEMO_MODE true
Si desea que el modo de demostración persista en los reinicios, también puede ejecutar:
setx AZD_DEMO_MODE true
o en PowerShell:
$env:AZD_DEMO_MODE="true"