全部产品
Search
文档中心

Tablestore:BatchGetRow

更新时间:Jul 02, 2025

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:

  • Tabel tertentu tidak ada.

  • Nama tabel tertentu tidak sesuai dengan konvensi penamaan. Untuk informasi lebih lanjut, lihat Konvensi penamaan dan tipe data.

  • Kunci utama tidak ditentukan, nama kolom kunci utama tidak sesuai dengan konvensi penamaan, atau tipe kolom kunci utama tidak valid untuk baris tertentu.

  • Nama kolom yang ditentukan menggunakan parameter columns_to_get dalam tabel tertentu tidak sesuai dengan konvensi penamaan. Untuk informasi lebih lanjut, lihat Konvensi penamaan dan tipe data.

  • Tabel dengan nama yang sama ditentukan.

  • Jumlah objek RowInBatchGetRowRequest untuk semua tabel yang ditentukan melebihi 100.

  • Objek RowInBatchGetRowRequest tidak ditentukan untuk tabel tertentu.

  • Jumlah kolom yang ditentukan menggunakan parameter columns_to_get melebihi 128 untuk tabel tertentu.

Sintaks respons

Catatan

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:

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.