Tous les produits
Search
Centre de documentation

Tablestore:Batch read data

Dernière mise à jour :Aug 19, 2026

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

Initialiser un client Tablestore

Méthode

batchGetRow: function batchGetRow(params, callback)

Description du paramètre params

  • tables (obligatoire) (Array) : Informations relatives à la lecture par lots, comprenant les sous-paramètres suivants.

    Nom

    Type

    Description

    tableName (obligatoire)

    string

    Nom de la table de données.

    primaryKey (obligatoire)

    Array

    Informations sur la clé primaire, incluant les noms et les valeurs des colonnes de clé primaire.

    • Les types de données pris en charge pour les colonnes de clé primaire sont STRING, INTEGER et BINARY.

    • Le nombre et le type de clés primaires doivent correspondre à ceux définis dans la table de données.

    maxVersions (facultatif)

    number

    Nombre maximal de versions à renvoyer. La valeur par défaut est 1.

    • Si le nombre de versions de données correspondant aux conditions de requête dépasse cette valeur, Tablestore renvoie les versions par ordre décroissant d'horodatage (la plus récente en premier).

    timeRange (facultatif)

    object

    Plage des versions de données à renvoyer.

    • Chaque colonne d'attribut d'une table de données Tablestore peut comporter plusieurs versions. Lorsque vous spécifiez une plage de versions, seules les données comprises dans cette plage sont renvoyées.

    columnsToGet (facultatif)

    Array

    Colonnes de clé primaire ou colonnes d'attribut à lire.

    • Si columnsToGet n'est pas défini, la ligne entière est renvoyée.

    • Si columnsToGet est défini et qu'aucune des colonnes spécifiées n'existe dans la ligne, la valeur null est renvoyée.

    columnFilter (facultatif)

    TableStore.ColumnCondition

    Condition de filtrage. Pour plus d'informations, consultez Filtres.

    • Si columnsToGet et columnFilter sont tous deux définis, Tablestore renvoie d'abord les colonnes spécifiées, puis applique columnFilter aux résultats.

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']

Références

Lecture de données par plage