管理环境变量
可以将环境变量配置为影响资源预配和部署到 Azure 的方式。 这在 CI/CD 工作流方案中运行 azd 时特别有用。
输入参数替换
可以在参数文件中引用环境变量(*.parameters.json
对于 Bicep, *.tfvars.json
对于 Terraform),作为预配的一部分。 遇到环境变量替换语法时, azd
会自动将引用替换为实际环境变量值集。 对于某些配置设置(使用“支持环境变量替换”记录的属性)和部署配置文件(例如部署清单)aks
中的azure.yaml
某些配置设置也会发生替换。
示例:输入参数替换 (Bicep)
假设已设置环境变量 AZURE_LOCATION
:
export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'
main.parameters.json
在文件中,可以使用以下语法引用AZURE_LOCATION
并允许进行环境替换:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value": "${AZURE_LOCATION}"
}
}
}
特定于 .env
环境的文件
基础结构预配的输出将自动存储为位于下面的.azure/<environment name>/.env
文件中的环境变量.env
。 此设置允许本地应用程序或部署脚本根据需要使用存储在文件中的 .env
变量来引用 Azure 托管的资源。 若要查看这些输出、运行 azd env get-values
或 azd env get-values --output json
JSON 输出。
提供的环境变量 azd
下面是由 azd
以下变量自动提供的变量:
名称 | 说明 | 示例 | 可用时 |
---|---|---|---|
AZURE_ENV_NAME |
正在使用的环境的名称。 | todo-app-dev |
创建环境时(例如,运行 azd init 或 azd env new 后)。 |
AZURE_LOCATION |
正在使用的环境的位置。 | eastus2 |
就在首次预配环境之前。 |
AZURE_PRINCIPAL_ID |
正在运行的用户/服务主体。 | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
在预配期间自动确定(临时)。 |
AZURE_SUBSCRIPTION_ID |
目标订阅。 | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
就在首次预配环境之前。 |
SERVICE_<service>_IMAGE_NAME |
发布到容器应用服务的Azure 容器注册表的容器映像的完整名称。 | todoapp/web-dev:azdev-deploy-1664988805 |
成功发布 containerapp 映像后 |
用户提供的环境变量
用户提供的变量可以声明为基础结构输出参数(自动存储在其中 .env
),也可以由环境中的用户直接设置(azd env set <key> <value>
)。 azd
以配置的形式读取值,并执行不同的操作。
名称 | 说明 | 示例 | 效果 |
---|---|---|---|
AZURE_AKS_CLUSTER_NAME |
要面向的Azure Kubernetes 服务群集的名称。 | aks-my-cluster |
部署 aks 服务的必需属性。 |
AZURE_RESOURCE_GROUP |
要面向的特定资源组。 类型字符串。 | rg-todo-dev |
azd 不会执行资源组发现,而是引用此资源组。 azd 也不控制创作的 IaC 配置文件,因此可能需要更改 IaC 文件。 |
AZURE_CONTAINER_REGISTRY_ENDPOINT |
用于发布 docker 映像的Azure 容器注册表终结点。 类型字符串。 | myexampleacr.azurecr.io |
部署或服务aks 所需的containerapp 属性。 |
SERVICE_<service>_ENDPOINTS |
特定服务的终结点。 类型 array (bicep) / list-equivalent (terraform)。 |
['endpoint1', 'endpoint2'] |
设置特定服务的公共终结点将由 azd 用于显示。 默认情况下,azd 会发现给定主机的自动分配主机名,例如 *.azurewebsites.net :appservice |
启用演示模式
azd
包括一个演示模式,用于隐藏控制台输出中的订阅 ID。 对于要在公共设置中演示或演示 azd
命令的方案,此功能非常有用。
演示模式引入了环境变量: AZD_DEMO_MODE
若要启用演示模式,请运行:
export AZD_DEMO_MODE true
如果希望演示模式在重新启动后持久保存,还可以运行:
setx AZD_DEMO_MODE true
或在 PowerShell 中:
$env:AZD_DEMO_MODE="true"
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈