このクイック スタートでは、データ API ビルダー (DAB) を Docker コンテナーとしてAzure Container Appsにデプロイします。 Azure Developer CLI (AZD) テンプレートを使用して、最新のベスト プラクティスを使用して、NOSQL データベースのAzure Cosmos DBと共に DAB をデプロイします。 このテンプレートでは、GraphQL を使用して DAB エンドポイントに接続するサンプル Web アプリケーションもデプロイされます。
[前提条件]
- Azure Developer CLI
- .NET 9.0
- Azure サブスクリプションで少なくともContributorロールを持っている
- ローカルで実行されている Docker
Azure アカウントがない場合は、開始する前に free アカウントを作成します。
プロジェクトを初期化する
Azure Developer CLI (azd) を使用して、NoSQL アカウントのAzure Cosmos DBを作成し、DAB をコンテナー化されたソリューションとしてデプロイし、コンテナー化されたサンプル アプリケーションをデプロイします。 サンプル アプリケーションでは、DAB を使用してサンプル データのクエリを実行します。
空のディレクトリでターミナルを開きます。
まだ認証されていない場合は、
azd auth loginを使用して Azure Developer CLI に対して認証します。 ツールで指定された手順に従って、任意のAzure資格情報を使用して CLI に対する認証を行います。azd auth loginを使用してプロジェクトを初期化します。
azd init --template dab-azure-cosmos-db-nosql-quickstart初期化中に、一意の環境名を構成します。
azd upを使用して完全なソリューションをAzureにデプロイします。 Bicep テンプレートは、Azure Cosmos DB for NoSQL アカウント、Azure Container Apps への DAB、サンプル Web アプリケーション、および安全なデータアクセスを可能にするためのマネージドアイデンティティをデプロイします。azd upプロビジョニング プロセス中に、サブスクリプションと目的の場所を選択します。 プロビジョニング プロセスが完了するまで待ちます。 このプロセスは、リージョンとサブスクリプションによっては数分かかる場合があります。
Azure リソースのプロビジョニングが完了すると、実行中の Web アプリケーションへの URL が出力に含まれます。
Deploying services (azd deploy) (✓) Done: Deploying service api - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io> (✓) Done: Deploying service web - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io> SUCCESS: Your up workflow to provision and deploy to Azure completed in <duration>.api の URL と web サービス の値を記録します。 これらの値は、このガイドの後半で使用します。
データベース接続を構成する
次に、Azure Container Appsでコンテナー化された各アプリケーションを参照して、想定どおりに動作していることを検証します。
まず、api サービスの URL に移動します。 この URL は、実行中の DAB インスタンスにリンクします。
DAB からの JSON 出力を確認します。 DAB コンテナーが実行中であり、状態が 正常であることを示す必要があります。
{ "status": "Healthy", "version": "1.4.35", "app-name": "dab_oss_1.4.35" }- DAB インスタンスの相対 パスに移動します。
- アプリが開発モードで実行されている場合、この URL によって Nitro GraphQL 統合開発環境 (IDE) が開きます。
- アプリが実稼働モードで実行されている場合、 へのブラウザー ナビゲーション用に Nitro は表示されません。 その場合は、サンプル Web アプリまたは別の GraphQL クライアントを使用します。
- Nitro が使用可能な場合は、新しいドキュメントを作成し、このクエリを実行して、NoSQL
productsコンテナーのAzure Cosmos DB内の 100 個の項目をすべて取得します。
query { products { items { id name description sku price cost } } }最後に、Web サービスの URL に移動します。 この URL は、前の手順でアクセスした GraphQL エンドポイントに接続する実行中のサンプル Web アプリケーションにリンクします。
実行中の Web アプリケーションを観察し、出力データを確認します。
クリーンアップ
サンプル アプリケーションまたはリソースが不要になったら、対応するデプロイとすべてのリソースを削除します。
Azure サブスクリプションからデプロイを削除します。
azd downGitHub Codespaces を使用している場合は、実行中のコードスペースを削除して、ストレージとコアのエンタイトルメントを最大化します。
次のステップ
GraphQL エンドポイント
関連コンテンツ
- Azure Cosmos DB for NoSQL 用のデータ API ビルダーを設定する
- データ API ビルダーの機能の可用性