1 つ以上のテーブルから複数のデータ行を同時に挿入、変更、または削除します。
BatchWriteRow 操作は、PutRow、UpdateRow、または DeleteRow 操作のセットです。 BatchWriteRow 操作を呼び出すと、各 PutRow、UpdateRow、または DeleteRow 操作は個別に実行され、各 PutRow、UpdateRow、または DeleteRow 操作への応答は個別に返され、消費ユニット (CU) は各 PutRow、UpdateRow、または DeleteRow 操作に対して個別に計算されます。
PutRow、UpdateRow、または DeleteRow 操作を複数回呼び出す代わりに BacthWriteRow 操作を呼び出すと、応答時間が短縮され、データ書き込みパフォーマンスが向上します。
リクエスト構文
message BatchWriteRowRequest {
repeated TableInBatchWriteRowRequest tables = 1;
optional string transaction_id = 2;
optional bool is_atomic = 3;
}
パラメーター | タイプ | 必須 | 説明 |
tables | はい | バッチ書き込み操作を実行する行。 以下のいずれかの状況が存在する場合、エラーが返されます。
| |
transaction_id | string | いいえ | ローカルトランザクションの ID。 ローカルトランザクション機能を使用してデータをバッチ書き込みする場合、このパラメーターは必須です。 |
is_atomic | bool | いいえ | バッチ書き込み操作をアトミック操作として実行するかどうかを指定します。 |
レスポンス構文
BatchWriteRow 操作は、行レベルで部分的に失敗することがあります。 ただし、操作は引き続き HTTP 200 ステータスコードを返します。 アプリケーションは、RowInBatchWriteRowResponse のエラーをチェックして、各行の実行結果を確認し、それに応じて処理する必要があります。
message BatchWriteRowResponse {
repeated TableInBatchWriteRowResponse tables = 1;
}
パラメーター | タイプ | 説明 |
tables | 各テーブルの各操作への応答。 レスポンスには、実行結果、エラーコード、および消費された CU の数が含まれます。 レスポンス内の TableInBatchWriteRowResponse メソッドの順序は、BatchWriteRowRequest 内の TableInBatchWriteRowRequest メソッドの順序と同じです。 各 TableInBatchWriteRowRequest メソッドの put_rows、update_rows、または delete_rows に含まれる RowInBatchWriteRowResponse メソッドの順序は、TableInBatchWriteRowRequest の put_rows、update_rows、または delete_rows に含まれる PutRowInBatchWriteRowRequest、UpdateRowInBatchWriteRowRequest、または DeleteRowInBatchWriteRowRequest メソッドの順序と同じです。 行の読み取りに失敗した場合、その行の RowInBatchWriteRowResponse の is_ok の値は false になります。 |
TableStore SDK の使用
以下の TableStore SDK を使用して、1 つ以上のテーブルから複数のデータ行を同時に挿入、変更、または削除できます。
Java 用 TableStore SDK:複数のデータ行をバッチで書き込む
Go 用 TableStore SDK:複数のデータ行をバッチで書き込む
Python 用 TableStore SDK:複数のデータ行をバッチで書き込む
Node.js 用 TableStore SDK:複数のデータ行をバッチで書き込む
.NET 用 TableStore SDK:複数のデータ行をバッチで書き込む
PHP 用 TableStore SDK:複数のデータ行をバッチで書き込む