Gunakan Tablestore PHP SDK untuk membaca data dari beberapa tabel dalam satu permintaan batch.
Catatan penggunaan
Satu operasi pembacaan batch dapat mengambil hingga 100 baris data.
Prasyarat
Metode
public function batchGetRow(array $request)Contoh
Baca dua baris dengan nilai kunci primer row1 dan row2 dari tabel test_table:
$table = array (
'table_name' => 'test_table',
'max_versions' => 1,
'primary_keys' => array (
array ( array('id', 'row1') ),
array ( array('id', 'row2') )
)
);
$request = array (
'tables' => array (
$table
)
);
try {
// Panggil metode batchGetRow untuk membaca data baris.
$response = $client->batchGetRow ($request);
// Proses respons.
foreach ($response['tables'] as $tableGroup) {
echo "* Table: " . $tableGroup['table_name'] . "\n";
foreach ($tableGroup['rows'] as $row) {
if ($row['is_ok']) {
if ($row['primary_key'] != null) {
echo "Succeeded Row: " . json_encode($row['primary_key']) . json_encode($row['attribute_columns']) . "\n";
} else {
echo "Succeeded Row: This row is not exist." . "\n";
}
} else {
echo "Failed Row: " . $row['error']['code'] . '. ' . $row['error']['message'] . "\n";
}
}
}
} catch (Exception $e){
echo "Batch get row failed.";
}Konfigurasikan parameter pembacaan batch sesuai kebutuhan:
Baca data dari beberapa tabel. Operasi pembacaan batch mendukung pengambilan data dari beberapa tabel sekaligus. Tentukan MultiRowQueryCriteria untuk setiap tabel.
$table1 = array ( 'table_name' => 'orders_small', 'max_versions' => 1, 'primary_keys' => array ( array ( array('order_id', '90fb478c-1360-11f0-a34d-00163e30a2a9') ) ) ); $request = array ( 'tables' => array ( $table, $table1 ) );Tentukan rentang waktu untuk versi data yang akan diambil. Hanya data dalam rentang waktu yang ditentukan yang dikembalikan.
// Tetapkan rentang waktu kueri ke 24 jam terakhir. $table['time_range'] = array ( 'start_time' => intval(microtime(true) * 1000) - 86400 * 1000, 'end_time' => intval(microtime(true) * 1000) );Tentukan kolom atribut yang akan diambil.
$table['columns_to_get'] = array('col2');