Azure Developer CLI 拡張機能の概要

Azure Developer CLI (azd) 拡張機能は、Azure Developer CLI の機能を拡張するモジュール式コンポーネントです。 これらの機能を使用すると、新しい機能の追加、ワークフローの自動化、CLI から直接他のサービスとの統合を行うことができます。 拡張機能を使用して、進化するチームのニーズとAzureシナリオに合わせてazdを調整します。

azd拡張機能フレームワークは一般提供されています。 個々の拡張機能または機能には、独自のプレビュー状態がある場合があります。

拡張機能ソースを管理する

要件の拡大に合わせて拡張機能を検出、インストール、更新できます。 拡張機能ソースは、配布と管理を処理します。

  • 拡張ソースは、使用可能な azd 拡張機能の一覧を提供するファイルまたは URL ベースのマニフェストです。
  • プライベート、ローカル、またはパブリック レジストリに接続するカスタム拡張機能ソースを追加できます。
  • 拡張機能ソースは、NuGet または Node パッケージ マネージャー (NPM) フィードと同等の概念であり、 公式の拡張レジストリ スキーマに従う必要があります。

azd では、拡張機能を解決するいくつかの方法がサポートされています。

  • 公式の拡張ソース レジストリは、azdで事前に構成されており、https://aka.ms/azd/extensions/registryでホストされています。
  • URL ベースのソースは 、チームがパブリックまたはプライベート配布のためにホストするリモート レジストリ マニフェストを参照します。
  • ファイル ベースのソースは 、オフラインで使用したりローカル開発したりするためにローカル レジストリ マニフェストを参照します。
  • 開発レジストリと夜間レジストリは、進行中の作業用のオプトイン ソースであり、ファースト パーティの拡張機能を自動的に構築します。 運用環境のワークフローではなく、シナリオをテストするために使用します。
  • 自己完結型バンドル ファイル は、レジストリをホストしない場合に直接インストールするための移植可能な .zip パッケージを提供します。

カスタム拡張ソース名には、1 から 64 文字の小文字の ASCII 文字または数字を含める必要があります。 文字または数字の間にハイフン (-) とアンダースコア (_) を含めることができます。 名前の先頭と末尾は文字または数字にする必要があります。 azd は無効な名前のエラーを返します。それはそれらを正規化しません。 azdbundleの名前は予約されており、カスタム ソースには使用できません。

構成済みの azd ソースは公式レジストリです。 削除したり、場所を変更したりすることはできません。

開発レジストリにオプトインするには、次のコマンドを実行します。

# Add a new extension source name 'dev' to your `azd` configuration.
azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"

注意事項

開発レジストリでホストされている拡張機能は署名されておらず、Azure サポートによってカバーされず、予告なしに変更または削除される可能性があります。

拡張機能のソース コマンド

次のコマンドを使用して、 azd インストールの拡張機能ソースを管理します。

インストールされている拡張機能ソースを一覧表示する

azd extension source list

新しい拡張機能ソースを追加する

azd extension source add -n <name> -t url -l <registry-url>
  • -l, --location: 拡張ソースの場所。
  • -n, --name: 拡張ソースの名前。 有効なカスタム ソース名を使用します。
  • -t, --type: 拡張ソースの種類。 サポートされている種類はファイルと URL です。

拡張機能ソースを削除する

azd extension source remove <name>

構成済みの azd ソースを削除することはできません。

アップグレードで、 ~/.azd/config.jsonの古い無効なソース名が原因でソースの読み込みエラーが報告された場合は、 azd extension source removeで問題のあるソースを削除してから、有効な名前でもう一度追加します。

拡張機能の管理

拡張機能を有効にして拡張機能ソースを構成したら、拡張機能をインストールして新しい機能を azdに追加します。 拡張機能の使用例については、「 クイック スタート - AI 拡張機能を使用する」を参照してください。

拡張機能を一覧表示する

azd extension list [flags]
  • --installed インストールされている拡張機能の一覧を表示します。
  • --source 指定したソースからの拡張機能のみを一覧表示します。 ソース名は、有効な登録済みソース名である必要があります。
  • --tags AI やテストなどのタグで拡張機能をフィルター処理します。

拡張機能のインストール

azd extension install <extension-names> [flags]

<extension-name>をインストールする拡張機能の名前に置き換えます。

  • -v, --version 拡張機能をインストールするときに適用するバージョン制約を指定します。
  • -s, --source インストールに使用する拡張ソースを指定します。 ソース名は、有効な登録済みソース名である必要があります。

拡張機能をアップグレードする

azd extension upgrade <extension-name>
  • --all 指定すると、以前にインストールされたすべての拡張機能がアップグレードされます。
  • -v, --version 指定されている場合は、バージョン制約を使用して指定された拡張機能をアップグレードします。
  • -s, --source インストールに使用する拡張ソースを指定します。 ソース名は、有効な登録済みソース名である必要があります。

拡張機能をアンインストールする

azd extension uninstall <extension-name>
  • --all 指定すると、インストールされているすべての拡張機能を削除します。

プロジェクトで必要な拡張機能を宣言する

プロジェクトでは、 azure.yaml で必要な拡張機能を宣言できるため、 azd はプロジェクトで必要な拡張機能バージョンを解決してインストールできます。 requiredVersions.extensionsの下に拡張機能の要件を追加し、latest、正確なバージョン、またはサポートされているセマンティック バージョンの制約を使用します。

requiredVersions:
  extensions:
    azure.ai.agents: ">=1.0.0"
    contoso.azd.tagger: "^2.0.0"

テンプレートが拡張機能提供のサービス ホスト、ライフサイクル ハンドラー、検証プロバイダー、またはコマンドに依存している場合は、プロジェクト レベルの要件を使用します。 スキーマとバージョンの制約の詳細については、 requiredVersionsを参照してください。

拡張機能の統合ポイントについて

拡張機能は、いくつかの方法で azd と統合できます。

  • メタデータ、ヘルプ、例を含むコマンド名前空間を追加します。
  • プロジェクト ファイルの構成スキーマと IntelliSense メタデータを指定します。
  • プロビジョニング、パッケージ、デプロイなどのワークフローのライフサイクル イベント ハンドラーを登録します。
  • カスタム プロビジョニング、検証、サービス ターゲット、言語またはフレームワークのサポート用のプロバイダーを追加します。
  • エージェントと開発者ツールのモデル コンテキスト プロトコル (MCP) サーバー機能を公開します。

実装ガイダンスについては、「 拡張機能の開発の概念」を参照してください。

開発コンテナーで azd 拡張機能を使用する

azd開発コンテナー機能では、コンテナーのビルド中に、extensions拡張機能のコンマ区切りの一覧を自動的にインストールするazd オプションがサポートされています。 この方法でインストールされた拡張機能は、コンテナーが起動するとすぐに使用でき、手動セットアップが減り、必要な拡張機能が既にインストールされている状態で azd コマンドを実行できるようになります。

拡張機能を自動インストールするには、extensions ファイルのazd機能エントリに devcontainer.json オプションを追加します。

{
    "name": "Azure Developer CLI",
    "image": "mcr.microsoft.com/devcontainers/python:3.10-bullseye",
    "features": {
        "ghcr.io/azure/azure-dev/azd:latest": {
            "extensions": "my-ext-1,my-ext-2"
        }
    }
}

extensionsの値はazd拡張名のコンマ区切りリストです。 インストールはコンテナーのビルド中に行われるため、コンテナーが起動するとすぐに拡張機能を使用できるようになります。 拡張機能の一覧を変更した後、Visual Studio Code の [開発コンテナーでリビルドして再度開く ] コマンドを使用して、更新された拡張機能を使用してコンテナーを再構築します。

azd Dev Container 機能の詳細を確認します。

次のステップ