Lea datos de varias tablas en una sola solicitud por lotes mediante el SDK de PHP para Tablestore.
Notas de uso
Una sola operación de lectura por lotes puede recuperar hasta 100 filas de datos.
Requisitos previos
Método
public function batchGetRow(array $request)
Ejemplos
Lea dos filas con valores de clave principal row1 y row2 de la tabla 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 {
// Call the batchGetRow method to read row data.
$response = $client->batchGetRow ($request);
// Process the response.
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.";
}
Configure los parámetros de lectura por lotes según sea necesario:
-
Lea datos de varias tablas al especificar una configuración independiente para cada una.
$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 ) ); -
Establezca un intervalo de tiempo para las versiones de datos por recuperar. Solo se devuelven los datos dentro del intervalo especificado.
// Set the time range for the query to the last 24 hours. $table['time_range'] = array ( 'start_time' => intval(microtime(true) * 1000) - 86400 * 1000, 'end_time' => intval(microtime(true) * 1000) ); -
Especifique las columnas de atributo por recuperar.
$table['columns_to_get'] = array('col2');