O método batchGetRow no SDK para Node.js lê várias linhas de uma ou mais tabelas do Tablestore em uma única solicitação.
Observações
Uma única operação de leitura em lote pode ler até 100 linhas.
Pré-requisitos
Método
batchGetRow: function batchGetRow(params, callback)
Exemplos
O exemplo a seguir lê duas linhas cujos valores de chave primária são row1 e row2 da tabela 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);
}
});
});
});
Os exemplos a seguir mostram como definir parâmetros comuns para leituras em lote.
-
Leia dados de várias tabelas. Inclua múltiplas tabelas em uma única solicitação de leitura em lote, com condições de consulta separadas para cada tabela.
var table1 = { tableName: 'orders_small', primaryKey: [ [{ 'order_id': '90fb478c-1360-11f0-a34d-00163e30a2a9' }] ] }; var params = { tables: [ table, table1 ] }; -
Defina um intervalo de versões de dados. Somente os dados dentro do intervalo especificado serão retornados.
// 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 as colunas de atributo a serem lidas.
table.columnsToGet = ['col2']