Todos os produtos
Search
Central de documentação

Tablestore:Batch read data

Última atualização: Jun 30, 2026

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

Inicializar um cliente Tablestore

Método

batchGetRow: function batchGetRow(params, callback)

Descrição do parâmetro params

  • tables (obrigatório) (Array): Informações da leitura em lote, que incluem os seguintes subparâmetros.

    Nome

    Tipo

    Descrição

    tableName (obrigatório)

    string

    Nome da tabela de dados.

    primaryKey (obrigatório)

    Array

    Informações da chave primária, incluindo nomes e valores das colunas de chave primária.

    • Os tipos de dados compatíveis com colunas de chave primária são STRING, INTEGER e BINARY.

    • A quantidade e o tipo de chaves primárias devem corresponder aos definidos na tabela de dados.

    maxVersions (opcional)

    number

    Número máximo de versões a retornar. O padrão é 1.

    • Se houver mais versões de dados correspondentes às condições de consulta do que o valor permitido, o Tablestore retorna as versões em ordem decrescente por carimbo de data/hora (mais recentes primeiro).

    timeRange (opcional)

    object

    Intervalo de versões de dados a retornar.

    • Cada coluna de atributo em uma tabela de dados do Tablestore pode ter múltiplas versões. Ao especificar um intervalo de versões, apenas os dados dentro desse intervalo são retornados.

    columnsToGet (opcional)

    Array

    Colunas de chave primária ou colunas de atributo a serem lidas.

    • Se columnsToGet não for definido, a linha inteira será retornada.

    • Caso columnsToGet esteja definido e nenhuma das colunas especificadas exista na linha, null será retornado.

    columnFilter (opcional)

    TableStore.ColumnCondition

    Condição de filtro. Para obter mais informações, consulte Filtros.

    • Quando columnsToGet e columnFilter estão definidos simultaneamente, o Tablestore retorna primeiro as colunas especificadas e depois aplica columnFilter aos resultados.

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

Referências

Leitura de dados por intervalo