Azure Developer CLI (azd) の7月ラウンドアップです。前回の投稿以降、5回のリリースが行われました:1.27.0、1.27.1、1.28.0、1.28.1、1.29.0。以下は新機能、変更点、修正点で、詳しく知りたい場合はプルリクエストへのリンクも記載しています。
フィードバックや質問がある場合は、GitHub のリリースディスカッションにご参加ください。
ハイライト:
- 新しい
azd tool uninstallコマンドにより、ツールのインストール、アップグレード、アンインストールのライフサイクルが完成しました。 - 拡張機能は
-s/--sourceでレジストリの場所から直接インストールでき、--no-dependenciesで依存関係の解決をスキップできます。 - Azure AI Foundry プロジェクト、エージェント、および関連リソースを
azure.yamlに直接モデル化できます。 - Azure App Service のコンテナー展開では、
host: appserviceとlanguage: dockerでイメージをプッシュして Web App for Containers を実行できます。 azdは CI/CD または AI エージェント環境を検出すると自動的に非対話モードに切り替わり、コマンドがプロンプトでハングせずに即座に失敗します。- 破壊的変更:
azd toolコマンドの skill--hostフラグが--agentに名前変更されました。
🌐 AI Engineer World’s Fair での Microsoft Foundry
AI Engineer World’s Fair の Pablo Castro(Microsoft)の「On AI and Knowledge」セッションで、Microsoft Foundry チームが azd 拡張プラットフォーム上に構築したコマンドライン体験を発表しました。これは拡張フレームワークでチームが提供できる優れた例であり、プラットフォームが実現する CLI ストーリーの典型です。実際の動作を見るには YouTube のデモセグメントをご覧ください。Microsoft Foundry チームが azd 上で構築してくれたことに感謝します!
新機能
🔌 拡張機能
これらのリリースを通じて、拡張機能のインストールおよび作成体験を継続的に改善しました。
azd extension install、azd extension upgrade、azd extension listが-s/--source(URL またはローカルパス)でレジストリの場所を直接受け付けるようになり、事前にazd extension source addを実行する必要がなくなりました。直接の場所は検証され、解決が続く前に永続化されたソースとして登録されます。[#8792]azd extension installに--no-dependenciesフラグを追加し、宣言された依存関係を解決・インストールせずに指定された拡張機能のみをインストールできます。[#8927]azure.yamlから拡張されたサービスレベルのenv値を拡張サービス構成に公開し、拡張機能がazdが解決する環境値と同じ値を読み取れるようにしました。[#8936]
🧰 ツール管理
- ツールのインストール、アップグレード、アンインストールのライフサイクルを完成させる
azd tool uninstallコマンドを追加しました。--all、--dry-run、インタラクティブな複数選択、エージェントごとのスキル削除、および--output jsonをサポートします。[#8794]
🤖 Azure AI Foundry モデル化
- Azure AI Foundry プロジェクト、エージェント、および関連リソースを
azure.yamlに直接モデル化するサポートを追加しました。$refファイルインクルード、セキュアバイデフォルトのネットワーク、Bicep や Terraform を使用しない init パスを含みます。[#8818]
🏗️ プロビジョニングと展開
これらの変更により azd が展開できる範囲が広がり、プロバイダーに関係なく拡張機能がプロビジョニング検証に参加できるようになりました。
- Azure App Service のコンテナー展開サポートを追加しました。
host: appserviceとlanguage: docker(またはdocker.path)で構成されたサービスは、コンテナーイメージを Azure Container Registry (ACR) にプッシュし、サイトのコンテナー構成を更新して Web App for Containers のシナリオを有効にします。[#8847] - すべてのプロバイダーに対してプロビジョニング前に実行されるプロバイダー非依存の
provision検証チェックを追加しました。validation-provider機能を備えた拡張機能は、プロビジョニングプロバイダー(Bicep、Terraform、または拡張機能提供のプロバイダー)に関係なく、クライアント側のチェックに貢献できるようになりました。Bicep のローカル事前検証中だけでなくです。[#9019]
🤖 CI/CD とエージェント環境
- continuous integration and delivery (CI/CD) または AI エージェント環境を検出すると自動的に非対話(プロンプトなし)モードを有効にし、コマンドがプロンプトでハングせずに明確なエラーで即座に失敗するようにしました。オプトアウトするには
AZD_NON_INTERACTIVE=falseを設定します。確認プロンプトも、標準入力にこれ以上の入力がない場合にデフォルト値を尊重するようになりました。[#9125]
破壊的変更
- skill
--hostフラグが--agentになりました。azd tool install、azd tool upgrade、azd tool uninstallで、--hostフラグが--agentに名前変更されました。azd tool list --output jsonおよびazd tool check --output jsonのインストール済みスキルは、エージェントごとに1行ずつ展開され、agentフィールドを含むようになりました。--hostを渡したり、以前の形式を読み取るスクリプトや JSON コンシューマーを更新してください。[#9045]
🪲 修正されたバグ
拡張機能とツール
azd tool install azure-skillsが Visual Studio Code Copilot Chat ランチャースタブを作動中の Copilot Command Line Interface (CLI) ホストと誤認識する問題を修正しました。ホスト選択に機能的プローブを使用するようになったため、macOS でインストールがサイレントで no-op になることや、Linux で PATH プロンプトで停止することがなくなりました。[#8805]- 依存関係を持つ Visual Studio Code 拡張機能(例:
vscode-azure-tools)や、macOS および Linux で Homebrew cask 経由でインストールされた GitHub Copilot CLI でazd tool uninstallが失敗する問題を修正しました。アンインストールはどのパッケージマネージャーがインストールを所有しているかを検出し、それに応じて削除し、自己管理インストールで手動削除が必要な場合はガイダンスを提供します。[#8875] - 生成された
azd extension install補完が拡張機能 ID と.zipファイルパスを提供するように修正しました。[#8887] - 一時的なファイルロックで保持されている拡張機能実行ファイルを置き換える際に、Windows で断続的に「アクセスが拒否されました」エラーが発生して
azd extension installが失敗する問題を修正しました。[#9161] - プロジェクト構成の書き込みをシリアライズすることで、同時拡張機能更新で
azure.yamlのサービスフィールドが失われる問題を修正しました。[#9211] azdがプロジェクトコマンドを実行する前にazure.yamlから宣言または推論されたすべての不足プロバイダーを解決するように、プロジェクト拡張機能要件の自動インストールを修正・改善しました。サポートされていない最初のプロバイダーで失敗する代わりにです。[#9218]
プロビジョニングと構成
- 拡張機能提供のサービスホストまたはプロビジョニングプロバイダーを使用するプロジェクトの
azd env refreshを修正し、まだ展開が存在しない場合に成功を報告します。[#9017] azure.yamlシリアライズがazure.ai.project、azure.ai.connection、microsoft.foundryなどのコードレスリソースホストを使用するサービスの空のprojectおよびlanguageフィールドを書き込む問題を修正しました。これらのフィールドは空の場合は省略されるようになりました。[#8937]- モデルカタログとクォータプロンプトから非推奨モデルをデフォルトで除外するようにしました。[#8842]
- 環境の
.envファイルで定義された動的リンカーおよびローダー制御変数(LD_PRELOAD、LD_LIBRARY_PATH、LD_AUDIT、DYLD_INSERT_LIBRARIESなど)を、docker、npm、python などのツールサブプロセスに転送しないようにしました。[#8949] - コンテナーベースの Azure App Service サービスの
azd deployが無関係なサイト構成を上書きする問題を修正しました。コンテナーイメージは専用の App Service 構成エンドポイントを通じて更新されるようになりました。[#9281]
継続的インテグレーションと更新
- Terraform ベースのプロジェクトで CI/CD 時に
azd down --no-promptがハングする問題を修正し、非対話的に実行する際に destroy を自動承認するようにし、新規エージェントでazd down --forceがバックエンド初期化エラーで失敗する問題を修正しました。[#9143] azd updateのフォローアップコマンドがazd versionを使用するように修正しました。貢献してくれた @rguptar に感謝します![#9083]
その他の変更
- 拡張機能 Software Development Kit (SDK) の
ServiceConfigにサービスのuses(依存関係)リストを公開し、拡張機能がSetServiceConfigValue経由ではなく直接サービスおよびリソースの依存関係を読み取れるようにしました。[#8838] extension.yamlのプロバイダー宣言を拡張機能コードによって登録されたプロバイダーと照合して検証する拡張 SDK ヘルパーを追加しました。[#9033]- Azure Resource Manager (ARM) リクエスト相関 ID を、OpenTelemetry トレース ID から損失なく導出された正規のハイフン付きグローバル一意識別子として送信するようにし、装飾のない 32 文字の文字列ではなくなりました。これには
azdの直接 ARM 呼び出しのx-ms-correlation-request-idヘッダーと、Terraform AzureRM プロバイダーに渡されるARM_CORRELATION_REQUEST_ID値の両方が含まれ、azdを ARM 仕様および他の Azure ツールと整合させます。[#9141] - 自動
azd tool初回インストールプロンプトと定期的な更新通知の表示を停止しました。明示的なazd toolコマンドは変更されません。[#9261] provision、up、downでinfra.providerテレメトリ属性を発行し、プロビジョニング実行をインフラストラクチャプロバイダーごとにセグメント化できるようにしました。[#9091]execution.environmentテレメトリフィールドで Microsoft Foundry Skill からのazd呼び出しを認識するようにしました。[#9167]execution.environmentテレメトリフィールドで GitHub Copilot アプリを GitHub Copilot CLI から分離して報告するようにしました。[#9288]- バンドルされた GitHub CLI を v2.96.0 に更新しました。[#9245]
新しいドキュメント
Microsoft Learn の新しいおよび更新された azd ドキュメント:
azd toolで Azure 開発ツールを管理する(7月27日)— 自動azd tool初回インストールプロンプトと定期的な更新通知を削除する 1.28.1 の変更を反映するように更新され、リファレンスが現在のオンデマンド動作と一致するようになりました。- Azure Pipelines を使用してパイプラインを構成し、更新をプッシュする(7月28日)—
azd pipeline configwith Azure DevOps の OpenID Connect (OIDC) およびフェデレーション資格情報ガイダンスを修正し、GitHub Actions および Azure DevOps のサンプルリンクを更新しました。 - Copilot クラウドエージェント開発環境をセットアップする(7月17日)— 「Copilot coding agent」の「cloud agent」へのリブランドに対応し、記事全体のファイルおよびリンクを更新しました。
azure.yamlスキーマリファレンス(7月16日)— Azure AI Foundryazure.yaml統合変更で更新し、Azure AI Foundry プロジェクト、エージェント、および関連リソースをazure.yamlに直接モデル化するための Microsoft Foundry ホストを文書化しました。
新しいテンプレート
コミュニティテンプレートは、迅速に開始し、一般的なシナリオをカバーし、Azure Developer CLI で実際のソリューションを展開する方法を示すのに役立ちます。
- Azure Functions Timer トリガー クイックスタート by Azure Functions Team、Timer トリガーパターンを5つの言語に拡張。各サンプルは
azdで Azure Functions Flex Consumption に展開され、マネージド ID と仮想ネットワークを使用してデフォルトでセキュアです:- Python:Python で書かれた Azure Functions Timer トリガー クイックスタート。
- JavaScript:JavaScript で書かれた Azure Functions Timer トリガー クイックスタート。
- TypeScript:TypeScript で書かれた Azure Functions Timer トリガー クイックスタート。
- Java:Java で書かれた Azure Functions Timer トリガー クイックスタート。
- PowerShell:PowerShell で書かれた Azure Functions Timer トリガー クイックスタート。
- Durable Functions fan-out/fan-in クイックスタート by Azure Functions Team、5つの言語で fan-out/fan-in オーケストレーションパターンを示し、それぞれ
azdで Azure Functions Flex Consumption に展開され、マネージド ID と仮想ネットワークを使用:- Java:Java で書かれた Durable Functions fan-out/fan-in クイックスタート。
- JavaScript:JavaScript で書かれた Durable Functions fan-out/fan-in クイックスタート。
- TypeScript:TypeScript で書かれた Durable Functions fan-out/fan-in クイックスタート。
- Python:Python で書かれた Durable Functions fan-out/fan-in クイックスタート。
- PowerShell:PowerShell で書かれた Durable Functions fan-out/fan-in クイックスタート。
- Remote Model Context Protocol (MCP) Functions サンプル by Azure Functions Team、Azure Functions でカスタムリモート MCP サーバーを構築および展開する方法を示します:
- JavaScript による Remote MCP Functions:このシナリオは、Microsoft Entra を ID プロバイダーとして使用した組み込み認証で、Azure Functions と JavaScript を使用してカスタムリモート MCP サーバーをクラウドに構築および展開する方法を示します。
- Durable Functions (.NET) を使用した長時間実行 MCP ツール:Durable Functions でバックアップされ、予算化された start-and-poll パターンを持つ長時間実行 MCP ツールを実行する .NET 分離 Azure Functions MCP サーバーで、Durable Task Scheduler バックエンドとマネージド ID を使用して
azdで展開されます。
- Azure Developer CLI (Terraform) を使用した Azure Functions C# HTTP トリガー by Azure Functions Team:C#(分離ワーカー)で書かれた Azure Functions HTTP トリガー クイックスタートで、Terraform をインフラストラクチャアズコードプロバイダーとして使用し、マネージド ID と仮想ネットワークを備えたセキュアバイデフォルトの展開で
azdで Azure Functions Flex Consumption に展開されます。 - Azure API Management と Application Gateway による mTLS by Ronald Bosma:Azure API Management と Application Gateway による相互 Transport Layer Security (mTLS) のデモ。API Management に直接呼び出す場合と Application Gateway の背後にある場合のクライアント証明書の検証方法、および mTLS を使用して API Management からバックエンドシステムへの接続をセキュアにする方法を示します。貢献してくれた Ronald Bosma に感謝します!
コミュニティの貢献のおかげで Azure Developer CLI テンプレートギャラリーは成長を続けています。ありがとうございます!
🙋♀️ azd を初めてご利用の方へ
Azure Developer CLI を初めてご利用の方へ、azd はオープンソースのコマンドラインツールで、アプリケーションをローカル開発環境から Azure にすばやく移行するのに役立ちます。ターミナル、エディター、または CI/CD で作業している場合でも、ワークフローの主要なステージに対応する開発者フレンドリーなコマンドを提供します。
- azd をインストールする
- テンプレートを探索する: Awesome azd テンプレートギャラリー および AI アプリテンプレート を閲覧する
- 詳細を確認する: 公式ドキュメント および トラブルシューティングガイド をご覧ください
- ヘルプを得る: 問題の報告やディスカッションを開始するには GitHub リポジトリ をご覧ください
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.