azure.yaml ファイルは、Azure Developer CLI (azd) プロジェクトの構成ファイルです。 プロジェクトのルートに配置して、アプリケーションを構成するサービス、Azure リソース、インフラストラクチャ、フック、CI/CD パイプラインを定義します。
azd up、azd provision、azd deployなどのコマンドを実行すると、CLI によってこのファイルが読み取られ、アプリの構造と Azure へのデプロイ方法が理解されます。
この記事は、 azure.yaml スキーマの完全なリファレンスです。
azd テンプレートの概要については、「Azure Developer CLI テンプレートの概要」を参照してください。
見本
azd テンプレートのazure.yaml ファイルの一般的な例を次に示します。 実際の例については、ToDo NodeJs Mongo テンプレートのazure.yamlを参照してください。
name: yourApp
metadata:
template: yourApp@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: appservice
api:
project: ./src/api
language: js
host: appservice
最上位のプロパティ
| 要素名 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | アプリケーション名です。 使用できるのは、小文字、数字、ハイフン (-) のみです。 名前の最初と最後は、文字か数字にする必要があります。 |
resourceGroup |
N | 文字列 | Azure リソース グループの名前。 指定すると、インフラストラクチャ のプロビジョニングに使用されるリソース グループ名がオーバーライドされます。 環境変数の置換をサポートします。 |
metadata |
N | オブジェクト | アプリケーション テンプレートに関するメタデータ。 |
infra |
N | オブジェクト | Azure インフラストラクチャ プロビジョニングの追加の構成を提供します。 |
services |
N | オブジェクト | アプリケーションを構成するサービスの定義。 |
resources |
N | オブジェクト | アプリケーションによって使用される Azure リソースの定義。 |
pipeline |
N | オブジェクト | 継続的インテグレーション パイプラインの定義。 |
hooks |
N | オブジェクト |
azd コマンドのコマンド レベル フック。 |
requiredVersions |
N | オブジェクト | 必要なバージョンの azd と拡張機能の追加の構成を提供します。 |
state |
N | オブジェクト | 状態管理の追加の構成を提供します。 |
platform |
N | オブジェクト | Azure デベロッパー センターなどのプラットフォーム固有の機能の追加構成を提供します。 |
workflows |
N | オブジェクト |
azd up動作のオーバーライドなどのワークフローの追加の構成を提供します。 |
cloud |
N | オブジェクト | ソブリン クラウドにデプロイするための追加の構成を提供します。 既定のクラウドは AzureCloudです。 |
name
(文字列、必須) アプリケーション名。 使用できるのは、小文字、数字、ハイフン (-) のみです。 名前の最初と最後は、文字か数字にする必要があります。 最小長: 2 文字。
name: my-app
resourceGroup
(文字列) Azure リソース グループの名前。 指定すると、インフラストラクチャ のプロビジョニングに使用されるリソース グループ名がオーバーライドされます。 環境変数の置換をサポートします。 3 ~ 64 文字にする必要があります。
resourceGroup: rg-my-app-${AZURE_ENV_NAME}
metadata
(オブジェクト) アプリケーション テンプレートに関するメタデータ。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
template |
N | 文字列 | アプリケーションの作成元のテンプレートの識別子。 |
metadata:
template: todo-nodejs-mongo@0.0.1-beta
infra
(オブジェクト) Azure インフラストラクチャ プロビジョニングの追加の構成を提供します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
provider |
N | 文字列 | アプリケーションの Azure リソースをプロビジョニングするために使用されるインフラストラクチャ プロビジョニング プロバイダー。 既定値: bicep。 使用できる値: bicep、terraform。 |
path |
N | 文字列 | 指定したプロバイダーの Azure プロビジョニング テンプレートへの相対フォルダー パス。 既定値: infra。 |
module |
N | 文字列 | Azure プロビジョニング テンプレート内の既定のモジュールの名前。 既定値: main。 |
layers |
N | アレイ | Azure インフラストラクチャ プロビジョニングのレイヤー。 「infra.layers」を参照してください。 |
Note
layersが少なくとも 1 つの項目で指定されている場合、pathプロパティとmoduleプロパティは使用できません。 代わりに、レイヤー固有の path と module 値を使用します。
infra.layers
(オブジェクトの配列) Azure インフラストラクチャのプロビジョニング レイヤーを定義します。 各レイヤーは、プロビジョニングの独立した単位を表します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | プロビジョニング レイヤーの名前。 |
path |
Y | 文字列 | 指定したプロバイダーの Azure プロビジョニング テンプレートへの相対フォルダー パス。 |
module |
N | 文字列 | リソースのプロビジョニング時に使用される Azure プロビジョニング モジュールの名前。 既定値: main。 |
hooks |
N | オブジェクト | レイヤー フックのプロビジョニング。
preprovisionとpostprovisionフックをサポートします。 パスを指定するときは、レイヤー パスに対する相対パスにする必要があります。
フック定義を参照してください。 |
infra:
provider: bicep
layers:
- name: core
path: ./infra/core
- name: services
path: ./infra/services
hooks:
postprovision:
shell: sh
run: ./scripts/post-provision.sh
IaC プロバイダーとしての Terraform のサンプル
Bicep の代わりに Terraform を使用するには、 provider を terraform に設定します。 詳細については、「 IaC プロバイダーとして Terraform を使用する」を参照してください。
name: yourApp-terraform
metadata:
template: yourApp-terraform@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: appservice
api:
project: ./src/api
language: js
host: appservice
infra:
provider: terraform
services
(オブジェクト) アプリケーションを構成するサービスの定義です。 各キーはサービス名であり、値はサービス構成オブジェクトです。
サービスのプロパティ
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
host |
Y | 文字列 | サービスの実装に使用される Azure リソースの種類。 「ホストの種類」を参照してください。 |
project |
Conditional | 文字列 | サービス ソース コード ディレクトリへのパス。 ほとんどのホストの種類に必要です。 |
image |
Conditional | 文字列 | ソースからビルドするのではなく、コンテナー イメージに使用するソース イメージ。 環境変数の置換をサポートします。
containerapp ホストに対してのみ有効です。 |
language |
N | 文字列 | サービス実装言語。 許可される値: dotnet、 csharp、 fsharp、 py、 python、 js、 ts、 java、 docker。 |
module |
N | 文字列 | ルート インフラストラクチャ フォルダーを基準としたサービスのデプロイに使用されるインフラストラクチャ モジュールのパス。 省略すると、CLI はモジュール名がサービス名と同じであると見なします。 |
dist |
N | 文字列 | サービスデプロイ成果物への相対パス。 |
resourceName |
N | 文字列 | サービスを実装する Azure リソースの名前。 既定では、CLI は現在のサービスの名前にタグ azd-service-name 設定された Azure リソースを検出します。 環境変数の置換をサポートします。 |
resourceGroup |
N | 文字列 | リソースを含む Azure リソース グループの名前。 指定すると、CLI は、指定されたリソース グループ内の Azure リソースを検索します。 環境変数の置換をサポートします。 |
remoteBuild |
N | boolean | 関数アプリのデプロイにリモート ビルドを使用するかどうか。
hostがfunctionされている場合にのみ有効です。
trueに設定すると、デプロイ パッケージは Oryx を使用してリモートでビルドされます。 JavaScript、TypeScript、Python 関数アプリの場合、既定値は true です。 |
docker |
N | オブジェクト | Docker の構成。 コンテナー ベースのホストにのみ適用されます。 「docker」を参照してください。 |
k8s |
N | オブジェクト | AKS 構成オプション。
hostがaksされている場合にのみ有効です。 「k8s」を参照してください。 |
config |
N | オブジェクト | サービスの追加の構成オプション。 |
uses |
N | アレイ | このサービスが依存するサービス名とリソース名の一覧。 |
env |
N | オブジェクト | 環境変数の名前を値にマップします。 環境変数の置換をサポートします。 |
apiVersion |
N | 文字列 | デプロイ用のリソース プロバイダー API のバージョン。
hostがcontainerappされている場合にのみ有効です。 |
hooks |
N | オブジェクト | サービス レベルフック。 サービス フックを参照してください。 |
Tip
さまざまな サービス 構成の完全な YAML 例については、サービスサンプルを参照してください。
ホストの種類
host プロパティは、サービスの実装に使用される Azure リソースの種類を決定し、有効なその他のプロパティを制御します。
| ホスト値 | 形容 | 要求 project |
サポート image |
サポート docker |
サポート k8s |
サポート env |
サポート apiVersion |
|---|---|---|---|---|---|---|---|
appservice |
Azure App Service | Y | N | N | N | N | N |
containerapp |
Azure Container Apps |
project または image (両方ではない) |
Y | Y | N | Y | Y |
function |
Azure Functions | Y | N | N | N | N | N |
staticwebapp |
Azure Static Web Apps | Y | N | N | N | N | N |
springapp |
Azure Spring Apps | Y | N | N | N | N | N |
aks |
Azure Kubernetes Service | N | N | Y | Y | N | N |
ai.endpoint |
Azure AI オンライン エンドポイント | Y | N | Y | N | N | N |
azure.ai.agent |
Azure AI エージェント | Y | N | Y | N | N | N |
Note
springapp サポートでは、アルファ機能へのオプトインが必要です。 詳細については、「 アルファ機能」を参照してください。
Note
hostがcontainerappされている場合は、imageまたはprojectを指定する必要がありますが、両方を指定する必要はありません。
imageが設定されている場合、コンテナーは指定されたイメージからデプロイされます。
projectが設定されている場合、コンテナー イメージはソースからビルドされます。
ai.endpoint 設定
(オブジェクト、 host が ai.endpointされている場合に必要) Azure AI オンライン エンドポイントデプロイ用の追加の構成を提供します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
workspace |
N | 文字列 | AI Studio プロジェクト ワークスペースの名前。 省略すると、 azd は AZUREAI_PROJECT_NAME 環境変数で指定された値を使用します。 環境変数の置換をサポートします。 |
flow |
N | オブジェクト | Azure AI Studio プロンプト フローの構成。 省略すると、プロンプト フローは作成されません。 AI コンポーネントの構成を参照してください。 |
environment |
N | オブジェクト | Azure AI Studio カスタム環境の構成。 省略すると、カスタム環境は作成されません。 AI コンポーネントの構成を参照してください。 |
model |
N | オブジェクト | Azure AI Studio モデルの構成。 省略すると、モデルは作成されません。 AI コンポーネントの構成を参照してください。 |
deployment |
Y | オブジェクト | Azure AI Studio オンライン エンドポイントのデプロイ構成。 新しいオンライン エンドポイントデプロイが作成され、正常に完了すると、トラフィックは自動的に新しいデプロイに移行されます。 AI デプロイ構成を参照してください。 |
Note
hostがai.endpointされている場合は、projectとconfigの両方が必要です。 必要な構成プロパティについては、 ai.endpoint 構成 を参照してください。
AI コンポーネントの構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
N | 文字列 | AI コンポーネントの名前。 省略すると、 azd はコンポーネントの種類とサービス名に基づいて名前を生成します。 環境変数の置換をサポートします。 |
path |
Y | 文字列 | AI コンポーネント構成ファイルまたはソース コードへのパス。 |
overrides |
N | オブジェクト | AI コンポーネントの構成をオーバーライドするために使用されるキー値ペアのマップ。 環境変数の置換をサポートします。 |
AI デプロイ構成
AI コンポーネント構成からすべてのプロパティを継承します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
environment |
N | オブジェクト | デプロイの環境変数として設定するキーと値のペアのマップ。 値は OS と azd 環境変数の置換をサポートします。 |
services:
myendpoint:
project: ./src/endpoint
host: ai.endpoint
config:
workspace: my-ai-project
deployment:
path: ./deployment
environment:
MODEL_NAME: ${AZURE_OPENAI_MODEL}
docker
(オブジェクト) サービスの Docker 構成。 コンテナー (containerapp、 aks、 ai.endpoint、 azure.ai.agent) をサポートするホストにのみ適用されます。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
path |
N | 文字列 | サービスを基準とした Dockerfile へのパス。 既定値: ./Dockerfile。 |
context |
N | 文字列 | Docker ビルド コンテキスト。 指定すると、既定のコンテキストがオーバーライドされます。 既定値: .。 |
platform |
N | 文字列 | プラットフォーム ターゲット。 既定値: amd64。 |
registry |
N | 文字列 | イメージをプッシュするコンテナー レジストリ。 省略した場合、既定値は環境変数の値 AZURE_CONTAINER_REGISTRY_ENDPOINT 。 環境変数の置換をサポートします。 |
image |
N | 文字列 | ビルドされたコンテナー イメージに適用される名前。 省略した場合、既定値は {appName}/{serviceName}-{environmentName}。 環境変数の置換をサポートします。 |
tag |
N | 文字列 | ビルドされたコンテナー イメージに適用されるタグ。 省略した場合、既定値は azd-deploy-{unix time (seconds)}。 環境変数の置換をサポートします。 |
buildArgs |
N | 文字列の配列 | docker build コマンドに渡すビルド引数。 |
network |
N | 文字列 | Docker ビルド中の RUN 命令のネットワーク モード。 docker ビルドに --network として渡されます。 たとえば、 host を使用して、ビルド コンテナーがホスト ネットワークにアクセスできるようにします。 |
remoteBuild |
N | boolean | イメージをリモートでビルドするかどうか。
trueに設定すると、イメージは Azure Container Registry リモート ビルド機能を使用してリモートでビルドされます。 リモート ビルドが失敗した場合、 azd は Docker または Podman (使用可能な場合) を使用してローカルでのビルドに自動的にフォールバックします。 |
k8s
(オブジェクト) Azure Kubernetes Service (AKS) 構成オプション。
hostがaksされている場合にのみ有効です。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
deploymentPath |
N | 文字列 | サービス パスから k8s 配置マニフェストへの相対パス。 既定値: manifests。 |
namespace |
N | 文字列 | デプロイされたリソースの k8s 名前空間。 指定すると、新しい k8s 名前空間がまだ存在しない場合に作成されます。 既定値: プロジェクト名。 |
deployment |
N | オブジェクト | k8s デプロイ構成。 デプロイ構成を参照してください。 |
service |
N | オブジェクト | k8s サービス構成。 サービス構成を参照してください。 |
ingress |
N | オブジェクト | k8s イングレス構成。 イングレス構成を参照してください。 |
helm |
N | オブジェクト | Helm の構成。 Helm の構成を参照してください。 |
kustomize |
N | オブジェクト | kustomize 構成。 Kustomize 構成を参照してください。 |
デプロイ構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
N | 文字列 | デプロイ時に使用する k8s デプロイ リソースの名前。 設定されていない場合は、サービス名を含む同じ名前空間内のデプロイ リソースを検索します。 既定値: サービス名。 |
サービス構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
N | 文字列 | 既定のサービス エンドポイントとして使用する k8s サービス リソースの名前。 設定されていない場合は、サービス名を含む同じ名前空間内のサービス リソースを検索します。 既定値: サービス名。 |
イングレス構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
N | 文字列 | 既定のサービス エンドポイントとして使用する k8s イングレス リソースの名前。 設定されていない場合は、サービス名を含む同じ名前空間内のイングレス リソースを検索します。 既定値: サービス名。 |
relativePath |
N | 文字列 | イングレス コントローラーのルートからのサービスへの相対パス。 設定すると、イングレス リソース パスのルートに追加されます。 |
Helm config
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
repositories |
N | アレイ | 追加する Helm リポジトリ。 |
releases |
N | アレイ | インストールする Helm リリース。 |
repositories 配列項目:
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | Helm リポジトリの名前。 |
url |
Y | 文字列 | Helm リポジトリの URL。 |
releases 配列項目:
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | Helm リリースの名前。 |
chart |
Y | 文字列 | Helm チャートの名前。 |
version |
N | 文字列 | Helm チャートのバージョン。 |
namespace |
N | 文字列 | Helm チャートをインストールする k8s 名前空間。 既定では、サービス名前空間が使用されます。 |
values |
N | 文字列 | helm チャートに渡すサービスから values.yaml への相対パス。 |
Kustomize config
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
dir |
N | 文字列 | kustomize ディレクトリへの相対パス。 環境変数の置換をサポートします。 |
edits |
N | 文字列の配列 | デプロイ前に適用する kustomize 編集。 環境変数の置換をサポートします。 |
env |
N | オブジェクト | kustomize ディレクトリに .env ファイルを生成するために使用される環境キーと値のペア。 値は環境変数の置換をサポートします。 |
サービス フック
サービス レベル フックは、サービス ライフサイクル イベント中に実行されます。 フックは、 pre または postでプレフィックスが付いたサービス イベント名と一致する必要があります。 パスを指定するときは、サービス パスに対する相対パスにする必要があります。 詳細については、「コマンドとイベント フック を使用して Azure Developer CLI ワークフローをカスタマイズする」を参照してください。
サポートされているサービス フック: prerestore、 postrestore、 prebuild、 postbuild、 prepackage、 postpackage、 prepublish、 postpublish、 predeploy、 postdeploy。
各フックは、 フック定義 形式を使用します。
サービス のサンプル
Docker オプションを使用したコンテナー アプリ
services:
api:
project: ./src/api
language: js
host: containerapp
docker:
path: ./Dockerfile
context: ../
web:
project: ./src/web
language: js
host: containerapp
docker:
remoteBuild: true
事前構築済みイメージからの Container Apps
services:
api:
image: myregistry.azurecr.io/myapp:latest
host: containerapp
AKS とサービス レベル フック
services:
web:
project: ./src/web
dist: build
language: js
host: aks
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_WEB_BASE_URL ${SERVICE_WEB_ENDPOINT_URL}
api:
project: ./src/api
language: js
host: aks
k8s:
ingress:
relativePath: api
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_API_BASE_URL ${SERVICE_API_ENDPOINT_URL}
resources
(オブジェクト) アプリケーションによって使用される Azure リソースの定義。 各キーはリソース名であり、値はリソース構成オブジェクトです。 リソースは、 uses プロパティを使用してサービスによって参照できます。
一般的なリソース プロパティ
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
type |
Y | 文字列 | リソースの種類。 リソースの種類を参照してください。 |
uses |
N | アレイ | このリソースが依存するその他のリソース。 |
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
Tip
複数 のリソース の種類を組み合わせた完全な YAML の例については、リソースのサンプルを参照してください。
リソースの種類
type プロパティは、Azure リソースの種類を決定し、使用できる追加のプロパティを制御します。
| 種類の値 | 形容 | 追加のプロパティ |
|---|---|---|
host.appservice |
Azure App Service Web アプリ |
host.appserviceプロパティを参照してください。 |
host.containerapp |
Docker ベースのコンテナー アプリ |
host.containerappプロパティを参照してください。 |
ai.openai.model |
デプロイ済みのすぐに使用できる AI モデル |
ai.openai.modelプロパティを参照してください。 |
ai.project |
モデルを含む Microsoft Foundry プロジェクト |
ai.projectプロパティを参照してください。 |
ai.search |
Azure AI 検索 |
ai.searchプロパティを参照してください。 |
db.postgres |
Azure Database for PostgreSQL | 追加のプロパティはありません。 |
db.mysql |
Azure Database for MySQL | 追加のプロパティはありません。 |
db.redis |
Azure Cache for Redis | 追加のプロパティはありません。 |
db.mongo |
Azure Cosmos DB for MongoDB | 追加のプロパティはありません。 |
db.cosmos |
Azure Cosmos DB for NoSQL |
db.cosmosプロパティを参照してください。 |
messaging.eventhubs |
Azure Event Hubs 名前空間 |
messaging.eventhubsプロパティを参照してください。 |
messaging.servicebus |
Azure Service Bus名前空間 |
messaging.servicebusプロパティを参照してください。 |
storage |
Azure Storage アカウント |
storageプロパティを参照してください。 |
keyvault |
Azure Key Vault |
keyvaultプロパティを参照してください。 |
プロパティの host.appservice
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
port |
N | 整数 | Web アプリがリッスンするポート。 既定値: 80。 |
runtime |
Y | オブジェクト | 言語ランタイムの構成。 以下を参照してください。 |
env |
N | アレイ | 環境変数。 各項目には、 name (必須)、 value、および secret プロパティがあります。 環境変数の置換をサポートします。 |
startupCommand |
N | 文字列 | Web アプリの起動の一部として実行されるスタートアップ コマンド。 |
uses |
N | 文字列の配列 | このリソースが使用するその他のリソース。 |
runtime オブジェクト:
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
stack |
Y | 文字列 | 言語ランタイム スタック。 使用できる値: node、python。 |
version |
Y | 文字列 | 言語ランタイムのバージョン。 形式はスタックによって異なります (たとえば、Node の場合は 22-lts 、Python の場合は 3.13 )。 |
resources:
web:
type: host.appservice
port: 8080
runtime:
stack: node
version: 22-lts
uses:
- db
プロパティの host.containerapp
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
port |
N | 整数 | コンテナー アプリがリッスンするポート。 既定値: 80。 |
env |
N | アレイ | 環境変数。 各項目には、 name (必須)、 value、および secret プロパティがあります。 環境変数の置換をサポートします。 |
uses |
N | 文字列の配列 | このリソースが使用するその他のリソース。 |
プロパティの ai.openai.model
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
model |
Conditional | オブジェクト | 基になる AI モデル。
existing が false の場合に必要です。 |
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
model オブジェクト:
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | AI モデルの名前。 |
version |
Y | 文字列 | AI モデルのバージョン。 |
resources:
chatModel:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
プロパティの ai.project
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
models |
N | アレイ | AI プロジェクトの一部としてデプロイされる AI モデル。 |
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
models 配列項目:
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | AI モデルの名前。 |
version |
Y | 文字列 | AI モデルのバージョン。 |
format |
Y | 文字列 | AI モデルの形式 (たとえば、 Microsoft、 OpenAI)。 |
sku |
Y | オブジェクト | AI モデルの SKU 構成。 |
sku オブジェクト:
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | SKU の名前 (たとえば、 GlobalStandard)。 |
usageName |
Y | 文字列 | 課金目的の SKU の使用名 (たとえば、 OpenAI.GlobalStandard.gpt-4o-mini)。 |
capacity |
Y | 整数 | SKU の容量。 |
プロパティの ai.search
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
プロパティの db.cosmos
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
containers |
N | アレイ | データを格納するコンテナー。 各コンテナーには、項目のコレクションが格納されます。 |
containers 配列項目:
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
Y | 文字列 | コンテナーの名前。 |
partitionKeys |
Y | アレイ | パーティション間でデータを分散するために使用されるパーティション キー。 最大 3 つのキー。 既定値: /id。 |
プロパティの messaging.eventhubs
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
hubs |
N | 文字列の配列 | Event Hubs 名前空間に作成するハブ名。 |
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
プロパティの messaging.servicebus
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
queues |
N | 文字列の配列 | Service Bus 名前空間に作成するキュー名。 |
topics |
N | 文字列の配列 | Service Bus 名前空間に作成するトピック名。 |
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
プロパティの storage
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
containers |
N | 文字列の配列 | Azure ストレージ アカウントのコンテナー名。 |
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
プロパティの keyvault
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
existing |
N | boolean |
trueに設定すると、このリソースは作成されず、代わりに参照目的で使用されます。 既定値: false。 |
リソースのサンプル
resources:
db:
type: db.postgres
cache:
type: db.redis
chatModel:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
web:
type: host.containerapp
port: 3100
uses:
- db
- chatModel
pipeline
(オブジェクト) 継続的インテグレーション パイプラインの定義。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
provider |
N | 文字列 | 継続的インテグレーションに使用するパイプライン プロバイダー。 既定値: github。 使用できる値: github、azdo。 |
variables |
N | 文字列の配列 | パイプラインで変数として使用する azd 環境変数の一覧。 |
secrets |
N | 文字列の配列 | パイプラインでシークレットとして使用する azd 環境変数の一覧。 |
pipeline:
provider: azdo
variables:
- CUSTOM_SETTING
secrets:
- API_KEY
hooks
(オブジェクト) コマンド レベルのフック。 フックは、スクリプト azd 実行するタイミングに応じて、pre または post でプレフィックスが付いたコマンド名と一致する必要があります。 パスを指定するときは、プロジェクト パスに対する相対パスにする必要があります。 詳細については、「コマンドとイベント フック を使用して Azure Developer CLI ワークフローをカスタマイズする」を参照してください。
サポートされているコマンド フック: preprovision、 postprovision、 preinfracreate、 postinfracreate、 preinfradelete、 postinfradelete、 predown、 postdown、 preup、 postup、 prepackage、 postpackage、 prepublish、 postpublish、 predeploy、 postdeployprerestore、 postrestore。
各フックは、 フック定義 形式を使用します。
Tip
プラットフォーム固有 のフック 、型指定された Executor、イベントごとの複数のフックなど、完全な YAML の例については、フックのサンプルを参照してください。
hooks:
preprovision:
shell: sh
run: ./scripts/setup.sh
postdeploy:
shell: sh
run: azd env set APP_URL ${SERVICE_WEB_ENDPOINT_URL}
フック定義
フックには、1 つのフック オブジェクトまたはフック オブジェクトの配列を指定できます。 各フック オブジェクトには、次のプロパティがあります。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
run |
Conditional | 文字列 | スクリプトのインライン スクリプトまたは相対パス。
shell、kind、dir、interactive、continueOnError、secrets、またはconfigを指定するときに必要です。 インライン スクリプトを指定する場合は、使用する shell も指定する必要があります。 ファイル パスを使用すると、シェルが自動的に推論されます。 |
shell |
N | 文字列 | スクリプトを実行するシェルの種類。 既定値: sh。 使用できる値: sh、pwsh。 |
kind |
N | 文字列 | フック スクリプトの Executor の種類。 省略すると、 run パスのファイル拡張子から種類が自動検出されます (たとえば、 .py は pythonになり、 .ps1 は pwshになります)。 使用できる値: sh、pwsh、js、ts、python、dotnet。 |
dir |
N | 文字列 | フック実行用の作業ディレクトリ。 依存関係インストールのプロジェクト ルートとして使用され、スクリプトの実行時に作業ディレクトリとして使用されます。 相対パスは、プロジェクトまたはサービス ルートから解決されます。 省略すると、既定でスクリプト ファイルを含むディレクトリが使用されます。 |
continueOnError |
N | boolean | スクリプト エラーが azd コマンドを停止するかどうかを指定します。 既定値: false。 |
interactive |
N | boolean | スクリプトを対話モードで実行するかどうか、実行中のコンソールの stdin、 stdout、および stderr にバインドします。 既定値: false。 |
windows |
N | オブジェクト | 指定すると、Windows 環境で実行されるときにフック構成がオーバーライドされます。 同じフック オブジェクト形式を使用します。 |
posix |
N | オブジェクト | 指定すると、POSIX (Linux および macOS) 環境で実行されるときにフック構成がオーバーライドされます。 同じフック オブジェクト形式を使用します。 |
secrets |
N | オブジェクト | シークレットをフックする azd 環境変数のマップ。 変数が環境内でシークレットとして設定されている場合、シークレット値はフックに渡されます。 |
config |
N | オブジェクト | Executor 固有の構成。 使用可能なプロパティは、 kind 値によって異なります。
フック実行プログラムの構成を参照してください。 |
Note
windowsとposixの両方を指定すると、run、shell、kind、dir、interactive、continueOnError、secrets、およびconfigのプロパティを最上位レベルで使用することはできません。 代わりにプラットフォーム固有のオブジェクトを使用してください。
フック実行プログラムの構成
config プロパティは、kind値に応じて異なるプロパティを受け入れます。
JavaScript と TypeScript (js、 ts) の構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
packageManager |
N | 文字列 | 依存関係のインストールに使用するパッケージ マネージャー。 ロック ファイルからの自動検出をオーバーライドします。 許可値: npm、pnpm、yarn。 |
Python 構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
virtualEnvName |
N | 文字列 | Python 仮想環境のディレクトリ名。 既定では、自動検出 (.venv、 venv) または {baseName}_env。 |
.NET (dotnet) 構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
configuration |
N | 文字列 | フック スクリプトをビルドするための MSBuild 構成 (たとえば、 Debug、 Release)。 |
framework |
N | 文字列 | フック スクリプトをビルドして実行するためのターゲット フレームワーク モニカー (たとえば、 net8.0、 net10.0)。 |
シェル (sh、 pwsh) 構成
シェル Executor は現在、 config プロパティをサポートしていません。
フックのサンプル
プラットフォーム固有のフック
hooks:
preprovision:
windows:
shell: pwsh
run: ./scripts/setup.ps1
posix:
shell: sh
run: ./scripts/setup.sh
種類付きの Python フック
hooks:
postprovision:
kind: python
run: ./scripts/seed-data.py
dir: ./scripts
config:
virtualEnvName: .venv
1 つのイベントに対する複数のフック
hooks:
postprovision:
- shell: sh
run: ./scripts/step1.sh
- shell: sh
run: ./scripts/step2.sh
requiredVersions
(オブジェクト) 必要なバージョンの azd と拡張機能の追加の構成を提供します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
azd |
N | 文字列 | このプロジェクトでサポートされている azd のバージョンの範囲。
azdのバージョンがこの範囲外の場合、プロジェクトの読み込みに失敗します。 semver 範囲構文をサポートします。 |
extensions |
N | オブジェクト | このプロジェクトに必要な拡張機能とバージョン制約のマップ。 semver 制約をサポートします。 バージョンを省略すると、最新バージョンがインストールされます。 |
requiredVersions:
azd: ">= 0.6.0-beta.3"
extensions:
azure.ai.agents: ">=1.0.0"
my-extension: latest
state
(オブジェクト) 状態管理の追加の構成を提供します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
remote |
N | オブジェクト | リモート状態管理用の追加の構成を提供します。 「state.remote」を参照してください。 |
state.remote
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
backend |
Y | 文字列 | リモート状態バックエンドの種類。 既定値: AzureBlobStorage。 使用できる値: AzureBlobStorage。 |
config |
Conditional | オブジェクト | バックエンド固有の構成。
backend が AzureBlobStorage の場合に必要です。
Azure Blob Storage の構成を参照してください。 |
Azure Blob Storage の構成
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
accountName |
Y | 文字列 | Azure Storageアカウント名。 |
containerName |
N | 文字列 | Azure Storage コンテナー名。 既定値は、指定されていない場合はプロジェクト名です。 |
endpoint |
N | 文字列 | Azure Storage エンドポイント。 既定値: blob.core.windows.net。 |
state:
remote:
backend: AzureBlobStorage
config:
accountName: mystorageaccount
containerName: azd-state
platform
(オブジェクト) Azure デベロッパー センターなどのプラットフォーム固有の機能の追加構成を提供します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
type |
Y | 文字列 | プラットフォームの種類。 使用できる値: devcenter。 |
config |
N | オブジェクト | プラットフォーム固有の構成。 デベロッパー センターの構成を参照してください。 |
デベロッパー センターの構成
typeがdevcenterされている場合に使用できます。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
N | 文字列 | Azure デベロッパー センターの名前。 このプロジェクトの既定のデベロッパー センターとして使用されます。 |
project |
N | 文字列 | Azure デベロッパー センター プロジェクトの名前。 |
catalog |
N | 文字列 | Azure デベロッパー センター カタログの名前。 |
environmentDefinition |
N | 文字列 | デベロッパー センター カタログ環境定義の名前。 |
environmentType |
N | 文字列 | デプロイ環境に使用されるデベロッパー センター プロジェクト環境の種類。 |
platform:
type: devcenter
config:
name: my-devcenter
project: my-project
catalog: my-catalog
environmentDefinition: my-env-def
environmentType: dev
workflows
(オブジェクト)azd up動作のオーバーライドなど、ワークフローの追加の構成を提供します。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
up |
N | オブジェクトまたは配列 | 指定すると、 azd up ワークフローの既定の動作がオーバーライドされます。 |
ワークフローのステップ
up ワークフローは、steps配列を受け取ります (または、配列として直接指定することもできます)。 各ステップでは、 azd コマンドが実行されます。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
azd |
Y | 文字列またはオブジェクト | 実行する azd コマンド。 文字列 (たとえば、 provision) または args 配列を持つオブジェクトを指定できます。 |
ワークフロー ステップの順序を構成する
次のazure.yaml ファイルでは、azd upの既定の動作が変更され、azd provision ステップの後にazd packageステップが移動されます。 このアプローチは、ビルドまたはパッケージ化プロセス中にリソースの URL を知る必要があるシナリオで使用します。
name: todo-nodejs-mongo
metadata:
template: todo-nodejs-mongo@0.0.1-beta
workflows:
up:
steps:
- azd: provision
- azd: package
- azd: deploy --all
cloud
(オブジェクト) Azure Government などのソブリン クラウドにデプロイするための追加の構成を提供します。 既定のクラウドは AzureCloudです。
| 財産 | 必須 | タイプ | 形容 |
|---|---|---|---|
name |
N | 文字列 | クラウド環境の名前。 許可値: AzureCloud、AzureChinaCloud、AzureUSGovernment。 |
cloud:
name: AzureUSGovernment
ヘルプを要求する
バグの報告、ヘルプの要求、または Azure Developer CLI の新機能の提案方法については、のトラブルシューティングとサポートの に関するページを参照してください。