El método batchGetRow del SDK de Node.js lee varias filas de una o más tablas de Tablestore en una sola solicitud.
Notas
Una sola operación de lectura por lotes admite hasta 100 filas.
Requisitos previos
Método
batchGetRow: function batchGetRow(params, callback)
Ejemplos
En el siguiente ejemplo se leen dos filas con valores de clave primaria row1 y row2 de la tabla test_table.
var table = {
// Set the table name
tableName: 'test_table',
primaryKey: [
// Add primary key information for row 1
[{ 'id': 'row1' }],
// Add primary key information for row 2
[{ 'id': 'row2' }]
]
};
var params = {
tables: [
table
]
}
// Call the batchGetRow method to perform a batch data query
client.batchGetRow(params, function (err, data) {
if (err) {
console.log('Batch get row failed with error: ', err);
return;
}
// Process the response
console.log('* RequestId: ', data.RequestId);
console.log('* Rows Data: ');
data.tables.forEach(function (rows) {
rows.forEach(function (row) {
if (row.isOk) {
console.log('Succeeded Row:', row.tableName, JSON.stringify(row.primaryKey), JSON.stringify(row.attributes));
} else {
console.log('Failed Row:', row.tableName, row.errorMessage);
}
});
});
});
A continuación se muestra cómo establecer parámetros comunes para lecturas por lotes.
-
Lea datos de varias tablas. Puede incluir varias tablas en una sola solicitud de lectura por lotes con condiciones de consulta independientes para cada tabla.
var table1 = { tableName: 'orders_small', primaryKey: [ [{ 'order_id': '90fb478c-1360-11f0-a34d-00163e30a2a9' }] ] }; var params = { tables: [ table, table1 ] }; -
Establezca un rango de versiones de datos. Solo se devuelven los datos dentro del rango especificado.
// Set the version range to the past 24 hours from the current time table.timeRange = { startTime: (Date.now() - 86400 * 1000).toString(), endTime: Date.now().toString() } -
Especifique las columnas de atributo por leer.
table.columnsToGet = ['col2']