ドキュメントを読み取る
Azure Cosmos DB のコンテナーから項目を読み取る方法には、ポイント読み取りとクエリ読み取りの 2 つの方法があります。 ポイント読み取りは、項目の ID と パーティション キー の一意の組み合わせを使用して項目を取得するため、項目を読み取る最も効率的な方法です。 クエリの読み取りは柔軟性が高く、クエリに基づいて複数の項目を取得できます。 このユニットでは、ポイント読み取りに重点を置いています。
たとえば、コンテナーに 1 KB のドキュメントがある場合、ポイント読み取りを実行するための RU 料金は 1 RU です。 クエリ読み取りの RU 料金は、返される項目の数とクエリの複雑さに基づいていますが、通常、最小 RU 料金は少なくとも 2.3 RU (要求ユニット) です。 1 つの項目だけを読み取る必要がある場合は、データを直接読み取ることができ、クエリ エンジンで要求を処理する必要がないため、ポイント読み取りが最も効率的な方法です。
コンテナーから既存の項目のポイント読み取りを行うには、次の 2 つが必要です。
まず、項目の一意の id が必要です。 ここでは、同じ名前の変数にその id を格納します。
string id = "027D0B9A-F9D9-4C96-8213-C8546C4AAE71";
次に、検索する項目のパーティション キーとして定義されたプロパティの文字列を使用して、PartitionKey 型の変数を作成する必要があります。 項目 ID とパーティション キー値の組み合わせを使用して、ポイント読み取りを実行します。
string categoryId = "26C74104-40BC-4541-8EF5-9892F7F03D72";
PartitionKey partitionKey = new (categoryId);
両方の項目を作成した後、非同期およびジェネリック ReadItemAsync<> メソッドを呼び出すことができます。これにより、この例では、指定されたジェネリック型 Product の項目が返されます。
Product saddle = await container.ReadItemAsync<Product>(id, partitionKey);
この時点で、saddle 変数のプロパティにアクセスし、ローカル変数と同じようにコンソールに出力できます。
string formattedName = $"New Product [${saddle}]";
Console.WriteLine(formattedName);
まず、項目の一意の id が必要です。 ここでは、その ID を変数に格納します。
item_id = "027D0B9A-F9D9-4C96-8213-C8546C4AAE71"
次に、項目のパーティション キーの値を定義します。 項目 ID とパーティション キー値の組み合わせを使用して、ポイント読み取りを実行します。
partition_key_value = "26C74104-40BC-4541-8EF5-9892F7F03D72"
idキーとパーティションキーの両方を取得したら、コンテナーオブジェクトのread_itemメソッドを使用して、ポイント読み取りを実行できます。
saddle = container.read_item(item=item_id, partition_key=partition_key_value)
この時点で、saddle 変数のプロパティにアクセスし、ローカル変数と同じようにコンソールに出力できます。
formatted_name = f"New Product [{saddle['name']}]"
print(formatted_name)
まず、項目の一意の id が必要です。 ここでは、その ID を変数に格納します。
const itemId = "027D0B9A-F9D9-4C96-8213-C8546C4AAE71";
次に、項目のパーティション キーの値を定義します。 項目 ID とパーティション キー値の組み合わせを使用して、ポイント読み取りを実行します。
const partitionKeyValue = "26C74104-40BC-4541-8EF5-9892F7F03D72";
ポイント読み取りを実行する
id とパーティション キーの両方を取得したら、コンテナー オブジェクトの readItem メソッドを使用してポイント読み取りを実行できます。
const { resource: saddle } = await container.item(itemId, partitionKeyValue).read();
この時点で、saddle 変数のプロパティにアクセスし、ローカル変数と同じようにコンソールに出力できます。
const formattedName = `New Product [${saddle.name}]`;
console.log(formattedName);