Membaca beberapa baris data dari satu atau lebih tabel secara bersamaan.
Operasi BatchGetRow merupakan rangkaian operasi GetRow. Saat memanggil operasi BatchGetRow, setiap operasi GetRow dijalankan secara terpisah, respons untuk setiap operasi GetRow dikembalikan secara individual, dan unit kapasitas (CUs) dihitung secara terpisah untuk setiap operasi GetRow.
Dengan menggunakan operasi BatchGetRow dibandingkan memanggil operasi GetRow berulang kali, waktu respons dapat dikurangi, serta kinerja pembacaan data meningkat.
Sintaks permintaan
message BatchGetRowRequest {
repeated TableInBatchGetRowRequest tables = 1;
} Parameter | Tipe | Diperlukan | Deskripsi |
tables | repeated TableInBatchGetRowRequest | Ya | Baris yang ingin Anda baca dari setiap tabel. Jika salah satu dari kondisi berikut terpenuhi, operasi gagal dan kesalahan dikembalikan:
|
Sintaks respons
Operasi BatchGetRow dapat mengalami kegagalan sebagian pada tingkat baris. Namun, operasi tetap mengembalikan kode status HTTP 200. Aplikasi harus memeriksa kesalahan dalam RowInBatchGetRowResponse untuk memastikan hasil eksekusi setiap baris sebelum melanjutkan.
message BatchGetRowResponse {
repeated TableInBatchGetRowResponse tables = 1;
} Parameter | Tipe | Deskripsi |
tables | repeated TableInBatchGetRowResponse | Baris yang dibaca dari setiap tabel. Urutan objek TableInBatchGetRowResponse dalam respons sama dengan urutan objek TableInBatchGetRowRequest dalam BatchGetRowRequest. Urutan objek RowInBatchGetRowResponse dalam TableInBatchGetRowResponse sama dengan urutan objek RowInBatchGetRowRequest dalam TableInBatchGetRowRequest. Jika baris tidak ada atau jika kolom yang ditentukan menggunakan parameter columns_to_get dalam baris kosong, objek RowInBatchGetRowResponse tetap muncul dalam objek TableInBatchGetRowResponse. Namun, parameter primary_key_columns dan attribute_columns untuk baris tersebut kosong. Jika baris gagal dibaca, nilai is_ok dalam RowInBatchGetRowResponse adalah false untuk baris tersebut dan baris tersebut kosong. |
Menggunakan SDK Tablestore
Anda dapat menggunakan SDK Tablestore berikut untuk membaca beberapa baris data dari satu atau lebih tabel secara bersamaan:
Tablestore SDK for Java: Baca beberapa baris data sekaligus
Tablestore SDK for Go: Baca beberapa baris data sekaligus
Tablestore SDK for Python: Baca beberapa baris data sekaligus
Tablestore SDK for Node.js: Baca beberapa baris data sekaligus
Tablestore SDK for .NET: Baca beberapa baris data sekaligus
Tablestore SDK for PHP: Baca beberapa baris data sekaligus
Konsumsi CU
Jika operasi gagal, tidak ada CU yang dikonsumsi.
Jika permintaan habis waktu dan hasilnya tidak terdefinisi, CU mungkin dikonsumsi atau mungkin tidak.
Dalam kasus lain, setiap objek RowInBatchGetRowRequest dianggap sebagai operasi GetRow, dan CU baca dihitung secara terpisah. Untuk informasi lebih lanjut, lihat Konsumsi CU.