Baca data secara batch dari satu atau beberapa tabel Tablestore menggunakan Python SDK.
Usage notes
Setiap operasi batch get dapat mengambil hingga 100 baris.
Prasyarat
Method
def batch_get_row(self, request)
Contoh kode
Kode berikut membaca dua baris dengan nilai kunci primer row1 dan row2 dari tabel test_table.
try:
primary_keys = []
# Tambahkan kunci primer untuk baris pertama.
primary_keys.append([('id', 'row1')])
# Tambahkan kunci primer untuk baris kedua.
primary_keys.append([('id', 'row2')])
# Buat kondisi kueri.
batchGetRowItem = TableInBatchGetRowItem('test_table', primary_keys=primary_keys, max_version=1)
# Panggil metode batch_get_row untuk melakukan operasi batch get.
request = BatchGetRowRequest()
request.add(batchGetRowItem)
response = client.batch_get_row(request)
# Proses respons.
print('* Apakah semua berhasil: %s' % response.is_all_succeed())
print('* Baris yang Berhasil: ')
for succeed in response.get_succeed_rows():
if succeed.row is not None:
print('table_name: %s. primary_key: %s, attribute_columns: %s.' % (succeed.table_name, succeed.row.primary_key,
succeed.row.attribute_columns))
else:
print('table_name: %s. Baris ini tidak ada.' % succeed.table_name)
if not response.is_all_succeed():
print('* Baris yang Gagal: ')
for failed in response.get_failed_rows():
print('table_name: %s. error code: %s, error message: %s.' % (failed.table_name, failed.error_code,
failed.error_message))
except Exception as e:
print("Batch get row gagal dengan error: %s" % e)
Contoh berikut menunjukkan konfigurasi parameter tambahan untuk operasi batch get.
-
Baca data dari beberapa tabel. Operasi batch get mendukung pembacaan dari beberapa tabel. Tentukan
TableInBatchGetRowItemuntuk setiap tabel.# Buat kondisi kueri untuk tabel kedua. primary_keys1 = [[('order_id', '90fb478c-1360-11f0-a34d-00163e30a2a9')]] batchGetRowItem1 = TableInBatchGetRowItem('orders_small', primary_keys=primary_keys1, max_version=1) request.add(batchGetRowItem1) -
Tetapkan rentang versi untuk hanya membaca versi data yang berada dalam rentang tersebut.
# Tetapkan rentang versi ke 24 jam terakhir dari waktu saat ini. time_range = (int(time.time() * 1000 - 86400 * 1000), int(time.time() * 1000)) batchGetRowItem = TableInBatchGetRowItem('test_table', primary_keys=primary_keys, time_range=time_range) -
Tentukan kolom atribut yang akan dibaca.
columns_to_get = ['col1'] batchGetRowItem = TableInBatchGetRowItem('test_table', primary_keys=primary_keys, columns_to_get=columns_to_get, max_version=1)