La méthode batchGetRow du SDK Node.js lit plusieurs lignes d'une ou plusieurs tables Tablestore en une seule requête.
Notes
Une opération de lecture par lots permet de lire jusqu'à 100 lignes.
Prérequis
Méthode
batchGetRow: function batchGetRow(params, callback)
Exemples
L'exemple suivant lit deux lignes dont les valeurs de clé primaire sont row1 et row2 depuis la table 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);
}
});
});
});
Les exemples suivants montrent comment définir les paramètres courants pour les lectures par lots.
-
Lire des données depuis plusieurs tables. Incluez plusieurs tables dans une seule requête de lecture par lots avec des conditions de requête distinctes pour chaque table.
var table1 = { tableName: 'orders_small', primaryKey: [ [{ 'order_id': '90fb478c-1360-11f0-a34d-00163e30a2a9' }] ] }; var params = { tables: [ table, table1 ] }; -
Définir une plage de versions de données. Seules les données comprises dans la plage spécifiée sont renvoyées.
// 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() } -
Spécifier les colonnes d'attribut à lire.
table.columnsToGet = ['col2']