Note
Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。
Azure Developer CLI (azd) を使用して、検索が有効な Web サイトをAzure Container Appsにデプロイします。 このデプロイには、React クライアント、.NET API、Azure AI 検索、マネージド ID、Azure リソースのサポートが含まれます。
デプロイでは、Azure AI 検索の既定の認証方法としてマネージド ID が使用されます。 デプロイ前に USE_KEYLESS_AUTH を false に設定することで、キーベースの認証をオプトインできます。
Azure にサインインする
Visual Studio Codeで、
azure-search-static-web-appなどのリポジトリ ルートでターミナルを開きます。azdを使用してAzureにサインインします。azd auth loginブラウザーからメッセージが表示されたら、このチュートリアルで使用しているAzure アカウントを使用してサインイン フローを完了します。
azd 環境を作成する
azd環境を作成します。YOUR-ENVIRONMENT-NAMEを、このチュートリアルのデプロイを識別する短い名前に置き換えます。azd env new YOUR-ENVIRONMENT-NAME
(省略可能)キーベースの認証を構成する
既定の認証方法はマネージド ID であるため、ほとんどの環境ではこのセクションをスキップできます。 環境に API キーが必要な場合にのみ、このセクションを完了します。
USE_KEYLESS_AUTH を false に設定します。
azd env set USE_KEYLESS_AUTH false
USE_KEYLESS_AUTHを設定しない場合、デプロイではマネージド ID が使用されます。 Bicep インフラストラクチャは、コンテナー アプリ ID にAzure AI 検索 データ プレーンへのアクセスを許可します。
azd up を使用してデプロイする
リポジトリのルートから、
azd upを実行します。azd upメッセージが表示されたら、リソースのAzureサブスクリプションと場所を選択します。
azdがインフラストラクチャをプロビジョニングし、コンテナーをビルドし、イメージをプッシュして、サービスをAzure Container Appsにデプロイするまで待ちます。デプロイ後に出力を確認します。 出力には、Azure Container Apps展開のクライアントとサーバーの完全修飾ドメイン名 (FQDN) が含まれます。
AZURE_CLIENT_URL: <client-container-app-fqdn> AZURE_SERVER_URL: <server-container-app-fqdn> SEARCH_SERVICE_NAME: <search-service-name>AZURE_CLIENT_URL値を使用して Web サイトを開きます。 クライアント アプリは、デプロイ中に構成されたエンドポイントを介してサーバー アプリを呼び出します。デプロイでは、Azure AI 検索 サービスも作成され、サンプル リポジトリの
postprovisionフックを介してgood-booksインデックスが自動的に読み込まれます。
Container Apps Web サイトで検索を使用する
ブラウザーで
azd up出力からクライアント FQDN を開きます。Web サイトの検索バーに、
codeなどの検索クエリを入力します。 オートコンプリート機能は、一致する書籍のタイトルを提案します。提案されたものを選択するか、引き続き自分のクエリを入力します。 検索クエリが完了したら、Enter キーを 押 します。
結果を確認し、書籍を選択して詳細を表示します。
Troubleshooting
Web アプリがデプロイまたは機能しない場合は、次の一覧を使用して問題を特定して修正します。
azd upは完了しましたか?最初に失敗したプロビジョニング、ビルド、またはデプロイの手順について、
azd up出力を確認します。 プロビジョニング中にデプロイが停止した場合は、サブスクリプションのアクセス許可と選択したリージョンを確認します。 コンテナーのビルドまたはデプロイの手順中にデプロイが停止した場合は、報告された問題を修正した後、azd up再実行します。クライアント エンドポイントを開くことができますか?
azd up出力からAZURE_CLIENT_URL値を開きます。 ページが読み込まれない場合は、Azure ポータルに移動し、クライアント コンテナー アプリを開き、そのリビジョンの状態とログを確認します。クライアントはサーバー エンドポイントを呼び出すことができますか?
ブラウザー開発者ツールを開き、クライアント アプリからのネットワーク呼び出しを確認します。 API の呼び出しが失敗した場合は、サーバー コンテナー アプリが実行されていること、およびクライアント アプリがデプロイ中にサーバー FQDN を受信したことを確認します。
サーバー クエリはAzure AI 検索できますか?
検索でエラーが返された場合は、サーバー コンテナー アプリのログを確認します。 マネージド ID の場合は、ID にデータ プレーン アクセスAzure AI 検索があることを確認します。 キーベースの認証の場合は、デプロイ前に
USE_KEYLESS_AUTHをfalseに設定し、生成されたコンテナー環境に検索サービス構成が含まれていることを確認します。
リソースをクリーンアップする
azd down --purgeを使用して、このチュートリアルで作成したAzure リソースを削除します。
--purge フラグは、論理的な削除をサポートするリソースを完全に削除します。リテンション期間は回復可能な状態のままにしておくのではなく、 このチュートリアルを後で再デプロイすると、名前の競合が回避されます。
リポジトリのルートから、クリーンアップ コマンドを実行します。
azd down --purge一覧
azdリソースを確認します。メッセージが表示されたら、削除を確認します。
azdデプロイの外部でAzure AI 検索 サービスを作成した場合は、Azure ポータルで検索サービスに移動し、ページの上部にある [削除] を選択します。