Todos los productos
Search
Centro de documentos

Tablestore:Lectura de datos por lotes

Última actualización: Sep 03, 2026

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

Initialize a Tablestore client

Método

batchGetRow: function batchGetRow(params, callback)

Descripción del parámetro params

  • tables (obligatorio) (Array): Información de la lectura por lotes que incluye los siguientes subparámetros.

    Nombre

    Tipo

    Descripción

    tableName (obligatorio)

    string

    Nombre de la tabla de datos.

    primaryKey (obligatorio)

    Array

    Información de la clave primaria, incluidos los nombres y valores de las columnas de clave primaria.

    • Los tipos de datos compatibles para las columnas de clave primaria son STRING, INTEGER y BINARY.

    • La cantidad y el tipo de claves primarias deben coincidir con los definidos en la tabla de datos.

    maxVersions (opcional)

    number

    Número máximo de versiones por devolver. El valor predeterminado es 1.

    • Si las versiones de datos que cumplen las condiciones de consulta superan este valor, Tablestore devuelve las versiones en orden descendente por marca de tiempo (la más reciente primero).

    timeRange (opcional)

    object

    Rango de versiones de datos por devolver.

    • Cada columna de atributo en una tabla de datos de Tablestore puede tener varias versiones. Si se especifica un rango de versiones, solo se devuelven los datos dentro de ese rango.

    columnsToGet (opcional)

    Array

    Columnas de clave primaria o de atributo por leer.

    • Si no se establece columnsToGet, se devuelve la fila completa.

    • Si se establece columnsToGet y ninguna de las columnas especificadas existe en la fila, se devuelve null.

    columnFilter (opcional)

    TableStore.ColumnCondition

    Condición de filtro. Para obtener más información, consulte Filters.

    • Si se establecen tanto columnsToGet como columnFilter, Tablestore devuelve primero las columnas especificadas y luego aplica columnFilter a los resultados.

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

Referencias

Range read data