管理環境變數
環境變數會影響資源布建和部署至 Azure 的方式。 在 CI/CD 工作流程案例中執行 azd 時,這特別有用。
輸入參數替代
在布建時,可以在參數檔案中參考環境變數(*.parameters.json
適用於 Bicep, *.tfvars.json
適用於 Terraform)。 遇到環境變數替代語法時, azd
會自動將參考取代為已設定的實際環境變數值。 中的 azure.yaml
特定組態設定也會發生替代 ,例如的部署指令清單,如的部署指令清單 aks
。
輸入參數替代範例 (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 Container Registry 的容器映像完整名稱。 | todoapp/web-dev:azdev-deploy-1664988805 |
成功發佈 containerapp 映像之後 |
使用者提供的環境變數
使用者提供的變數可以宣告為基礎結構輸出參數(自動儲存在 .env
中), main.bicep
或由環境 (azd env set <key> <value>
) 中的使用者直接設定。 azd
以組態方式讀取值,並以不同的方式執行。
名稱 | 描述 | 範例 | 效果 |
---|---|---|---|
AZURE_AKS_CLUSTER_NAME |
要設為目標的 Azure Kubernetes Service 叢集名稱。 | aks-my-cluster |
部署 aks 服務的必要屬性。 |
AZURE_RESOURCE_GROUP |
要設為目標的特定資源群組。 輸入字串。 | rg-todo-dev |
azd 不會執行資源群組探索,而是參考此資源群組。 azd 也不會控制撰寫的 IaC 組態檔,因此可能需要變更 IaC 檔案。 |
AZURE_CONTAINER_REGISTRY_ENDPOINT |
用來發佈 Docker 映像的 Azure Container Registry 端點。 輸入字串。 | myexampleacr.azurecr.io |
部署 containerapp 或服務 aks 的必要屬性。 |
SERVICE_<service>_ENDPOINTS |
特定服務的端點。 類型 array (bicep) / list-equivalent (terraform)。 |
['endpoint1', 'endpoint2'] |
設定特定服務的公用端點將由 azd 用來顯示。 根據預設,azd 會探索指定主機的自動指派主機名,例如 *.azurewebsites.net 。appservice |
啟用示範模式
azd
包含示範模式,可隱藏主控台輸出中的訂用帳戶標識碼。 這項功能適用於您想要在公用設定中示範或呈現 azd
命令的案例。
示範模式引進環境變數: AZD_DEMO_MODE
。 若要啟用示範模式,請執行:
export AZD_DEMO_MODE true
如果您想要在重新啟動之間儲存示範模式,您也可以執行:
setx AZD_DEMO_MODE true
或在 PowerShell 中:
$env:AZD_DEMO_MODE="true"