すべてのプロダクト
Search
ドキュメントセンター

Tablestore:GetRow

最終更新日:Dec 28, 2024

指定されたプライマリキーに基づいてデータの単一行を読み取ります。

リクエスト構文

message GetRowRequest {
    required string table_name = 1;
    required bytes primary_key = 2; // データはPlainBuffer形式のバイナリデータとしてエンコードされます。
    repeated string columns_to_get = 3; // このパラメータを指定しない場合は、すべての列が読み取られます。
    optional TimeRange time_range = 4;
    optional int32 max_versions = 5;
    optional bytes filter = 7;
    optional string start_column = 8;
    optional string end_column = 9;
    optional bytes token = 10;
    optional string transaction_id = 11;
}

パラメータ

タイプ

必須

説明

table_name

string

はい

データを読み取る対象のテーブルの名前。

primary_key

bytes

はい

プライマリキー列の名前と値を含む、行のすべてのプライマリキー列。プライマリキー列はPlainBuffer形式でエンコードされます。詳細については、PlainBufferを参照してください。

columns_to_get

string

いいえ

返す列の名前。このパラメータを指定しない場合は、行のすべての列が返されます。このパラメータの値には、最大128個の文字列を含めることができます。

指定された列が存在しない場合、指定された列のデータは返されません。重複する列名を指定した場合、レスポンスにはこの列が1回だけ含まれます。

time_range

TimeRange

いいえ(time_rangeとmax_versionsの少なくとも一方を指定する必要があります。)

データの複数のバージョンを読み取るタイムスタンプ範囲。最小値は0、最大値はINT64.MAXです。単位:ミリ秒。

指定された時間範囲内のデータをクエリする場合は、start_timeとend_timeを指定します。指定されたタイムスタンプを含むデータをクエリする場合は、specific_timeを指定します。

たとえば、time_rangeの値が[100、200)の場合、返される列のデータのタイムスタンプは[100、200)の範囲内である必要があります。

max_versions

int32

いいえ(time_rangeとmax_versionsの少なくとも一方を指定する必要があります。)

返されるデータの最大バージョン数。

max_versionsの値が2の場合、各列について最大2つのバージョンのデータが返されます。

filter

bytes

いいえ

フィルタ条件の式。フィルタ条件の式は、Protobufを使用してバイナリデータとしてシリアル化されます。詳細については、Filterを参照してください。

start_column

string

いいえ

行内の読み取り操作が開始される列。このパラメータは、ワイドカラムを読み取るために使用されます。列は名前のアルファベット順にソートされます。レスポンスには、指定された開始列が含まれます。

テーブルに列a、b、cが含まれていて、start_columnの値がbの場合、読み取り操作は列bから開始され、列bとcが返されます。

end_column

string

いいえ

読み取り操作が終了する列。レスポンスには、指定された終了列は含まれません。列は名前のアルファベット順にソートされます。

例:テーブルに列a、b、cが含まれていて、end_columnの値がbの場合、読み取り操作は列bで終了し、列aのみが返されます。

token

bytes

いいえ

ワイドカラム内の次の読み取り操作が開始される位置。このパラメータは使用できません。

transaction_id

string

いいえ

ローカルトランザクションのID。ローカルトランザクション機能を使用してデータを読み取る場合は、このパラメータが必要です。

レスポンス構文

message GetRowResponse {
    required ConsumedCapacity consumed = 1;
    required bytes row = 2; // データはPlainBuffer形式のバイナリデータとしてエンコードされます。
    optional bytes next_token = 3;
}

パラメータ

タイプ

説明

consumed

ConsumedCapacity

操作で消費される容量ユニット(CU)の数。詳細については、CU消費量を参照してください。

row

bytes

行から読み取られたデータ。リクエストされた行が存在しない場合は、データは返されません。

返されるデータはPlainBuffer形式でエンコードされます。PlainBufferの詳細については、PlainBufferを参照してください。

next_token

bytes

読み取りリクエストでデータ行の列数が128を超えた場合に返されるトークン。

Tablestore SDKの使用

次のTablestore SDKを使用してデータ行を読み取ることができます。

CU消費量

  • リクエストされた行が存在しない場合は、1回の読み取りCUが消費されます。

  • リクエストされた行が存在する場合、消費される読み取りCUの数は、次の式を使用して計算された値から切り上げられます。消費される読み取りCUの数=(行のすべてのプライマリキー列のデータサイズ+読み取られる属性列のデータサイズ)/ 4 KB。データサイズの計算方法の詳細については、課金概要を参照してください。

  • リクエストがタイムアウトし、結果が未定義の場合、CUが消費される場合とされない場合があります。

  • 内部エラーが発生したことを示すHTTPステータスコード5xxが返された場合、操作はCUを消費しません。その他のエラーが返された場合は、1回の読み取りCUが消費されます。