次の方法で共有


Azure Developer CLI 作成機能を使用して最小限のテンプレートを作成する

Azure Developer CLI (azd) の合成 (作成) 機能を使用すると、Bicep コードを手動で記述することなく、アプリに必要な Azure リソースを段階的に作成できます。 この記事では、作成機能を使用して最小限のテンプレートを作成する方法について説明します。 この機能に関するコンセプトの詳細は、azd コンポーズ概要の記事をご覧ください。

azd作成機能は現在アルファ版であり、運用アプリでは使用しないでください。 以降のリリースでアルファ機能を変更すると、破壊的変更が発生する可能性があります。 詳細については、 azd 機能のバージョン管理とリリース戦略機能ステージ のページを参照してください。 右上の [ フィードバック ] ボタンを使用して、 compose 機能とこの記事に関するフィードバックを共有します。

作成機能を使用する

azd コマンドを使用して、azd add作成機能にアクセスします。 azd add コマンドは、次のazd initワークフローを使用して作成されたテンプレートで動作します。

  • 現在のディレクトリでコードを使用する (ホスティング用の Azure Container Apps を対象とするアプリの場合)
  • 最小限のプロジェクトを作成する

テンプレートの選択フローを使用して初期化されたテンプレートは、現在サポートされていません。 azd作成機能はインフラストラクチャを管理し、既存のinfra フォルダー資産を持つテンプレートと互換性がありません。 詳細については、 Bicep コードの生成 に関する記事と テンプレート作成ワークフロー のページを参照してください。

コードを記述せずにテンプレートに新しいリソースを追加するには、次の手順を実行します。

  1. ターミナル ウィンドウで、 azd テンプレートのルートに移動します。

  2. azd add コマンドを実行して新しいリソースを追加し、作成ワークフローを開始します。

    azd add
    
  3. アプリに追加するサポートされているリソースのいずれかを選択します。 この例では、[ Database] を選択します。

    ? What would you like to add? [Use arrows to move, type to filter]
    > AI
      Database
      Host service
      Key Vault
      Messaging
      Storage account
      ~Existing resource
    
  4. データベースの種類として、 PostgreSQLを選択します。

    ? Which type of database?  [Use arrows to move, type to filter]
      MongoDB
    > PostgreSQL
      Redis
    
  5. azddbなど、新しいリソースの名前を入力します。

    ? Input the name of the app database (PostgreSQL)
    
  6. アプリにサービスが含まれている場合、 azd は、このリソースを使用するサービスを選択するように求められます。

    ? Select the service(s) that uses this resource
    > [✓]  webfrontend
    
  7. azd は、 azure.yaml ファイルに必要な変更のプレビューを生成します。 Enter キーを押して変更を受け入れて適用します。

    Previewing changes to azure.yaml:
    
    +  azddata:
    +      type: db.postgres
    
       webfrontend:
           type: host.containerapp
           uses:
               - azddb
    +          - azddata
           port: 80
    
  8. azd up コマンドを実行して、azd add コマンドを使用して行った変更をプロビジョニングします。 この例では、 azd は Azure で PostgreSQL データベースをプロビジョニングします。

  9. azd add コマンドをもう一度実行して、OpenAI サービスなどの他のリソースを追加します。

azure.yaml ファイルを調べる

azure.yamlazd によってアプリを管理するために使用される構成ファイルです。 azdは、対応するazd addノードとservices ノードを使用して、resources コマンドで構成されたサービスとリソースを管理します。 azure.yamlによって完全に更新されたazd add ファイルの次の例を考えてみましょう。

name: azdcomposesample
metadata:
  template: azd-init@1.11.0
services:
  webfrontend:
    project: src
    host: containerapp
    language: dotnet
resources:
  webfrontend:
    type: host.containerapp
    port: 80
    uses:
      - azdsql
      - azdchat
  azdsql:
    type: db.postgres
  azdchat:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"
  • services ノードは次を宣言します。
    • webfrontend ディレクトリ内の .NET Web アプリと Azure Container Apps の間でsrcという名前のデプロイ マッピング。
  • resources ノードは次を宣言します。
    • Azure コンテナー アプリと、ホストされている .NET コンテナー アプリと、それが依存するデータベースと AI サービスの間で webfrontend という名前の一致する依存関係マッピング。 uses ノードは、依存している他のリソースにアプリをマップします。
    • azdsqlという名前の Azure Database for PostgreSQL リソース。
    • azdchatという名前の Azure OpenAI リソース。

次のステップ