.NET を使用して Azure Cosmos DB for Table の使用を開始する

適用対象: Table

この記事では、.NET SDK を使用して Azure Cosmos DB for Table に接続する方法について説明します。 接続すると、テーブルと項目に対する操作を実行できます。

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

前提条件

プロジェクトの設定

.NET コンソール アプリケーションを作成する

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 クラスのインスタンスを作成します。 このクラスは、テーブルに対するすべての操作を実行するための開始点です。 TableServiceClient クラスを使用して Table 用 API アカウントに接続するには、次の 2 つの主要な方法があります。

接続文字列を使用して接続する

TableServiceClient の最も一般的なコンストラクターには、1 つのパラメーターがあります。

パラメーター 値の例 説明
connectionString COSMOS_CONNECTION_STRING 環境変数 Table 用 API アカウントへの接続文字列

アカウント接続文字列を取得する

  1. az cosmosdb list コマンドを使用して、リソース グループ内の最初の Azure Cosmos DB アカウントの名前を取得し、それを accountName シェル変数に格納します。

    # Retrieve most recently created account name
    accountName=$(
        az cosmosdb list \
            --resource-group $resourceGroupName \
            --query "[0].name" \
            --output tsv
    )
    
  2. az-cosmosdb-keys-list コマンドを使用して、アカウントの接続文字列の一覧から "プライマリ接続文字列" を見つけます。

    az cosmosdb keys list \
        --resource-group $resourceGroupName \
        --name $accountName \
        --type "connection-strings" \
        --query "connectionStrings[?description == \`Primary Table Connection String\`] | [0].connectionString"
    

.NET コード内でプライマリ接続文字列値を使用するには、アプリケーションを実行しているローカル コンピューター上で新しい環境変数にそれを保持します。

$env:COSMOS_CONNECTION_STRING = "<cosmos-account-PRIMARY-CONNECTION-STRING>"

接続文字列を使用して TableServiceClient を作成する

COSMOS_CONNECTION_STRING 環境変数を唯一のパラメーターとして使用し、TableServiceClient クラスの新しいインスタンスを作成します。

// New instance of TableServiceClient class using a connection string
TableServiceClient client = new(
    connectionString: Environment.GetEnvironmentVariable("COSMOS_CONNECTION_STRING")!
);

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

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

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

  • アカウント内の個々の項目のセットを含むテーブル。

  • テーブル内の個々の項目を表す項目。

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

アカウント、テーブル、項目を含む Azure Cosmos DB 階層の図。

上部に Azure Cosmos DB アカウントを示す階層図。 アカウントには 2 つの子テーブル ノードがあります。 一方のテーブル ノードには、2 つの子項目が含まれています。

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

クラス 説明
TableServiceClient このクライアント クラスは、Azure Cosmos DB サービスのクライアント側の論理表現を提供します。 このクライアント オブジェクトは、サービスに対する要求の構成と実行に使用されます。
TableClient このクライアント クラスは、サービスに存在する (または、まだ存在しない) 場合があるテーブルへの参照です。 テーブルは、それに対するアクセスまたは操作の実行を試みると、サーバー側で検証されます。
ITableEntity このインターフェイスは、テーブルに作成されるか、テーブルからクエリが実行されるすべての項目の基本インターフェイスです。 このインターフェイスには、Table 用 API の項目に必要なすべてのプロパティが含まれています。
TableEntity このクラスは、キーと値のペアの辞書としての ITableEntity インターフェイスの汎用的な実装です。

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

ガイド 説明
テーブルの作成 テーブルを作成する
項目の作成 項目の作成
項目を読み取る 項目を読み取る

関連項目

次のステップ

Table 用 API アカウントに接続したので、次のガイドを使用してテーブルを作成および管理します。