JavaScript を使用して Azure Cosmos DB for NoSQL の使用を開始する

適用対象: NoSQL

この記事では、JavaScript SDK を使用して Azure Cosmos DB for NoSQL に接続する方法を示します。 接続すると、データベース、コンテナー、および項目に対する操作を実行できます。

パッケージ (npm) | サンプル | API リファレンス | ライブラリ ソース コード | フィードバックを送る

前提条件

ローカル プロジェクトを設定する

  1. Bash シェルで JavaScript プロジェクトの新しいディレクトリを作成します。

    mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples
    
  2. npm init コマンドとコンソール テンプレートを使用して、新しい JavaScript アプリケーションを作成します。

    npm init -y
    
  3. Azure Cosmos DB for NoSQL JavaScript SDK に必要な依存関係をインストールします。

    npm install @azure/cosmos
    

Azure Cosmos DB for NoSQL に接続する

Azure Cosmos DB の NoSQL 用 API に接続するには、CosmosClient クラスのインスタンスを作成します。 このクラスは、データベースに対するすべての操作を実行するための開始点です。

Microsoft Entra を使用して NoSQL 用 API アカウントに接続するには、セキュリティ プリンシパルを使用します。 プリンシパルの正確な種類は、アプリケーション コードをホストする場所によって異なります。 次の表は、クイック リファレンス ガイドとして機能します。

アプリケーションの実行場所 セキュリティ プリンシパル
ローカル コンピューター (開発とテスト) ユーザー ID またはサービス プリンシパル
Azure マネージド ID
Azure の外部にあるサーバーまたはクライアント サービス プリンシパル

@azure/identity をインポートする

@azure/identity npm パッケージには、すべての Azure SDK ライブラリ間で共有されるコア認証機能が含まれています。

  1. npm install コマンドを使用して、@azure/identity npm パッケージをインポートします。

    npm install @azure/identity
    
  2. コード エディターで、依存関係を追加します。

    const { DefaultAzureCredential } = require("@azure/identity");
    

既定の資格情報の実装を使用して CosmosClient を作成する

ローカル コンピューター上でテストする場合、またはマネージド ID を直接サポートする Azure サービス上でアプリケーションを実行する場合は、DefaultAzureCredential インスタンスを作成して OAuth トークンを取得します。 次に、COSMOS_ENDPOINT 環境変数と TokenCredential オブジェクトをパラメーターとして使用して、CosmosClient クラスの新しいインスタンスを作成します。

const { CosmosClient } = require("@azure/cosmos");
const { DefaultAzureCredential } = require("@azure/identity");

const credential = new DefaultAzureCredential();

const cosmosClient = new CosmosClient({ 
    endpoint, 
    aadCredentials: credential
});

アプリケーションをビルドする

アプリケーションをビルドすると、コードは主に 4 種類のリソースと対話します。

  • NoSQL 用 API アカウント。これは、Azure Cosmos DB データに対する一意で最上位の名前空間です。

  • アカウント内のコンテナーを整理するデータベース。

  • データベース内の個々の項目のセットを含むコンテナー。

  • コンテナー内の JSON ドキュメントを表す項目。

次の図に、これらのリソースの関係を示します。

アカウント、データベース、コンテナー、項目を含む Azure Cosmos DB 階層の図。

上部に Azure Cosmos DB アカウントを示す階層図。 アカウントには 2 つの子データベース ノードがあります。 一方のデータベース ノードには、2 つの子コンテナー ノードが含まれています。 もう一方のデータベース ノードには、1 つの子コンテナー ノードが含まれています。 その 1 つのコンテナー ノードには、3 つの子項目ノードがあります。

各種類のリソースは、1 つまたは複数の関連付けられたクラスによって表されます。 以下に最も一般的なクラスの一覧を示します。

クラス 説明
CosmosClient このクラスは、Azure Cosmos DB サービスのクライアント側の論理表現を提供します。 このクライアント オブジェクトは、サービスに対する要求の構成と実行に使用されます。
Database このクラスは、サービスにまだ存在する場合と存在しない場合があるデータベースへの参照です。 データベースへのアクセスまたはデータベースに対する操作の実行を試みると、データベースはサーバー側で検証されます。
Container このクラスは、まだサービスに存在しない可能性があるコンテナーへの参照です。 コンテナーを操作しようとすると、コンテナーはサーバー側で検証されます。

次のガイドでは、これらの各クラスを使ってアプリケーションをビルドする方法を示します。

ガイド 説明
データベースの作成 データベースを作成する
コンテナーの作成 コンテナーを作成する
アイテムの作成と読み取り 特定の項目のポイント読み取り
クエリ項目 複数の項目のクエリの実行

関連項目

次のステップ