環境変数を管理する。
環境変数は、リソースのプロビジョニング方法と Azure へのデプロイ方法に影響を与えます。 これは、CI/CD ワークフロー シナリオで azd を実行する場合に特に便利です。
入力パラメーターの置換
環境変数は、プロビジョニングの一環としてパラメーター ファイル (Bicep 用は *.parameters.json
、Terraform 用は *.tfvars.json
) で参照できます。 環境変数置換構文が見つかると、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
を実行するか、JSON 出力には azd env get-values --output 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 イメージの発行が成功した後 |
ユーザー指定の環境変数
ユーザー指定変数は、main.bicep
ファイル内のインフラストラクチャ出力パラメーター (.env
に自動的に格納されます) として宣言することも、ユーザーが環境内で直接設定することもできます (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 は特定のホストに対して自動的に割り当てられたホスト名を検出します (appservice の *.azurewebsites.net など)。 |
デモ モードを有効にする
azd
には、コンソール出力でサブスクリプション ID を非表示にするデモ モードが含まれています。 この機能は、パブリック設定でazd
コマンドをデモまたは表示するシナリオに役立ちます。
デモ モードでは、次のような環境変数が導入されます。AZD_DEMO_MODE
デモ モードを有効にするには、次のコマンドを実行します。
export AZD_DEMO_MODE true
再起動後もデモ モードを保持する場合は、次のコマンドを実行することもできます。
setx AZD_DEMO_MODE true
または PowerShell 内:
$env:AZD_DEMO_MODE="true"