.NET を使用して Azure Cosmos DB for Table の使用を開始する
適用対象: Table
この記事では、.NET SDK を使用して Azure Cosmos DB for Table に接続する方法について説明します。 接続すると、テーブルと項目に対する操作を実行できます。
パッケージ (NuGet) | サンプル | API リファレンス | ライブラリ ソース コード | フィードバックを送る |
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Azure Cosmos DB for Table アカウント。 Table 用 API アカウントを作成する。
- .NET 6.0 以降
- Azure コマンド ライン インターフェイス (CLI) または Azure PowerShell
プロジェクトの設定
dotnet new
コマンドとコンソール テンプレートを使用して、新しい .NET アプリケーションを作成します。
dotnet new console
dotnet add package
コマンドを使用して、Azure.Data.Tables NuGet パッケージをインポートします。
dotnet add package Azure.Data.Tables
dotnet build
コマンドを使ってプロジェクトをビルドします。
dotnet build
Azure Cosmos DB for Table に接続する
Azure Cosmos DB の Table 用 API に接続するには、TableServiceClient
クラスのインスタンスを作成します。 このクラスは、テーブルに対するすべての操作を実行するための開始点です。
Microsoft Entra を使用して NoSQL 用 API アカウントに接続するには、セキュリティ プリンシパルを使用します。 プリンシパルの正確な種類は、アプリケーション コードをホストする場所によって異なります。 次の表は、クイック リファレンス ガイドとして機能します。
アプリケーションの実行場所 | セキュリティ プリンシパル |
---|---|
ローカル コンピューター (開発とテスト) | ユーザー ID またはサービス プリンシパル |
Azure | マネージド ID |
Azure の外部にあるサーバーまたはクライアント | サービス プリンシパル |
Azure.Identity のインポート
Azure.Identity NuGet パッケージには、すべての Azure SDK ライブラリ間で共有されるコア認証機能が含まれています。
dotnet add package
コマンドを使用して、Azure.Identity NuGet パッケージをインポートします。
dotnet add package Azure.Identity
dotnet build
コマンドを使用してプロジェクトを再構築します。
dotnet build
コード エディターで、Azure.Core
および Azure.Identity
名前空間のディレクティブを使用して追加します。
using Azure.Core;
using Azure.Identity;
既定の資格情報の実装を使用して CosmosClient を作成する
ローカル コンピューター上でテストする場合、またはマネージド ID を直接サポートする Azure サービス上でアプリケーションを実行する場合は、DefaultAzureCredential
インスタンスを作成して OAuth トークンを取得します。
この例では、インスタンスを TokenCredential
型の変数に保存しました。これは、SDK 全体で再利用できるより汎用的な型であるためです。
// Credential class for testing on a local machine or Azure services
TokenCredential credential = new DefaultAzureCredential();
COSMOS_ENDPOINT
環境変数と TokenCredential オブジェクトをパラメーターとして使用して、CosmosClient クラスの新しいインスタンスを作成します。
// New instance of TableServiceClient class using Microsoft Entra
TableServiceClient client = new(
endpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
tokenCredential: credential
);
アプリケーションをビルドする
アプリケーションをビルドすると、コードは主に 4 種類のリソースと対話します。
Table 用 API アカウント。これは、Azure Cosmos DB のデータに対する一意で最上位の名前空間です。
アカウント内の個々の項目のセットを含むテーブル。
テーブル内の個々の項目を表す項目。
次の図に、これらのリソースの関係を示します。
上部に Azure Cosmos DB アカウントを示す階層図。 アカウントには 2 つの子テーブル ノードがあります。 一方のテーブル ノードには、2 つの子項目が含まれています。
各種類のリソースは、1 つまたは複数の関連付けられた .NET クラスまたはインターフェイスによって表されます。 以下に最も一般的な種類の一覧を示します。
クラス | 説明 |
---|---|
TableServiceClient |
このクライアント クラスは、Azure Cosmos DB サービスのクライアント側の論理表現を提供します。 このクライアント オブジェクトは、サービスに対する要求の構成と実行に使用されます。 |
TableClient |
このクライアント クラスは、サービスに存在する (または、まだ存在しない) 場合があるテーブルへの参照です。 テーブルは、それに対するアクセスまたは操作の実行を試みると、サーバー側で検証されます。 |
ITableEntity |
このインターフェイスは、テーブルに作成されるか、テーブルからクエリが実行されるすべての項目の基本インターフェイスです。 このインターフェイスには、Table 用 API の項目に必要なすべてのプロパティが含まれています。 |
TableEntity |
このクラスは、キーと値のペアの辞書としての ITableEntity インターフェイスの汎用的な実装です。 |
次のガイドでは、これらの各クラスを使ってアプリケーションをビルドする方法を示します。
ガイド | 説明 |
---|---|
テーブルの作成 | テーブルを作成する |
項目の作成 | 項目の作成 |
項目を読み取る | 項目を読み取る |
関連項目
次のステップ
Table 用 API アカウントに接続したので、次のガイドを使用してテーブルを作成および管理します。