1 つ以上のテーブルから複数のデータ行を同時に読み取ります。
BatchGetRow オペレーションは、一連の GetRow オペレーションです。BatchGetRow オペレーションを呼び出すと、各 GetRow オペレーションは個別に実行され、各 GetRow オペレーションへの応答は個別に返され、キャパシティユニット (CU) は各 GetRow オペレーションに対して個別に計算されます。
GetRow オペレーションを複数回呼び出す代わりに BatchGetRow オペレーションを呼び出すと、応答時間が短縮され、データ読み取りパフォーマンスが向上します。
リクエスト構文
message BatchGetRowRequest {
repeated TableInBatchGetRowRequest tables = 1;
}
パラメーター | タイプ | 必須 | 説明 |
tables | repeated TableInBatchGetRowRequest | はい | 各テーブルから読み取る行。 次のいずれかの条件が満たされた場合、オペレーションは失敗し、エラーが返されます。
|
レスポンス構文
BatchGetRow オペレーションは、行レベルで部分的に失敗する可能性があります。ただし、オペレーションは引き続き HTTP 200 ステータスコードを返します。アプリケーションは、RowInBatchGetRowResponse のエラーをチェックして、各行の実行結果を確認してから続行する必要があります。
message BatchGetRowResponse {
repeated TableInBatchGetRowResponse tables = 1;
}
パラメーター | タイプ | 説明 |
tables | repeated TableInBatchGetRowResponse | 各テーブルから読み取られる行。 レスポンス内の TableInBatchGetRowResponse オブジェクトの順序は、BatchGetRowRequest 内の TableInBatchGetRowRequest オブジェクトの順序と同じです。TableInBatchGetRowResponse 内の RowInBatchGetRowResponse オブジェクトの順序は、TableInBatchGetRowRequest 内の RowInBatchGetRowRequest オブジェクトの順序と同じです。 行が存在しない場合、または行の columns_to_get パラメーターを使用して指定された列が空の場合でも、RowInBatchGetRowResponse オブジェクトは TableInBatchGetRowResponse オブジェクトに表示されます。ただし、行の primary_key_columns パラメーターと attribute_columns パラメーターは空です。 行の読み取りに失敗した場合、その行の RowInBatchGetRowResponse の is_ok の値は false になり、行は空になります。 |
Tablestore SDK の使用
以下の Tablestore SDK を使用して、1 つ以上のテーブルから複数のデータ行を同時に読み取ることができます。
Tablestore SDK for Java: 複数のデータ行を一度に読み取る
Tablestore SDK for Go: 複数のデータ行を一度に読み取る
Tablestore SDK for Python: 複数のデータ行を一度に読み取る
Tablestore SDK for Node.js: 複数のデータ行を一度に読み取る
Tablestore SDK for .NET: 複数のデータ行を一度に読み取る
Tablestore SDK for PHP: 複数のデータ行を一度に読み取る
CU 消費量
オペレーションが失敗した場合、CU は消費されません。
リクエストがタイムアウトし、結果が未定義の場合、CU が消費される場合とされない場合があります。
その他の場合、各 RowInBatchGetRowRequest オブジェクトは GetRow オペレーションと見なされ、読み取り CU は個別に計算されます。詳細については、CU 消費量 を参照してください。