Todos os produtos
Search
Central de documentação

Tablestore:BatchGetRow

Última atualização: Jul 03, 2026

Lê várias linhas de dados de uma ou mais tabelas simultaneamente.

A operação BatchGetRow consiste em um conjunto de operações GetRow. Ao chamar a operação BatchGetRow, o sistema executa cada operação GetRow separadamente, retorna a resposta individualmente e calcula as unidades de capacidade (CUs) de forma independente para cada operação.

Chamar a operação BatchGetRow, em vez de invocar a operação GetRow várias vezes, reduz o tempo de resposta e melhora o desempenho de leitura de dados.

Sintaxe da solicitação

message BatchGetRowRequest {
    repeated TableInBatchGetRowRequest tables = 1;
}           

Parâmetro

Tipo

Obrigatório

Descrição

tables

repeated TableInBatchGetRowRequest

Sim

Linhas a serem lidas de cada tabela.

A operação falha e retorna um erro se qualquer uma das condições a seguir for verdadeira:

  • Uma tabela específica não existe.

  • O nome de uma tabela específica não está em conformidade com as convenções de nomenclatura. Para obter mais informações, consulte Convenções de nomenclatura e tipos de dados.

  • A chave primária não foi especificada, o nome de uma coluna de chave primária não segue as convenções de nomenclatura ou o tipo de uma coluna de chave primária é inválido para uma linha específica.

  • O nome de uma coluna especificada pelo parâmetro columns_to_get em uma tabela específica não está em conformidade com as convenções de nomenclatura. Para obter mais informações, consulte Convenções de nomenclatura e tipos de dados.

  • Foram especificadas tabelas com nomes idênticos.

  • O número de objetos RowInBatchGetRowRequest para todas as tabelas especificadas excede 100.

  • Nenhum objeto RowInBatchGetRowRequest foi especificado para uma tabela específica.

  • O número de colunas especificadas pelo parâmetro columns_to_get excede 128 para uma tabela específica.

Sintaxe da resposta

Nota

A operação BatchGetRow pode falhar parcialmente no nível da linha. No entanto, ela ainda retorna o código de status HTTP 200. O aplicativo deve verificar erros em RowInBatchGetRowResponse para confirmar o resultado da execução de cada linha antes de prosseguir.

message BatchGetRowResponse {
    repeated TableInBatchGetRowResponse tables = 1;
}          

Parâmetro

Tipo

Descrição

tables

repeated TableInBatchGetRowResponse

Linhas lidas de cada tabela.

A ordem dos objetos TableInBatchGetRowResponse na resposta corresponde à ordem dos objetos TableInBatchGetRowRequest em BatchGetRowRequest. Da mesma forma, a ordem dos objetos RowInBatchGetRowResponse em TableInBatchGetRowResponse segue a ordem dos objetos RowInBatchGetRowRequest em TableInBatchGetRowRequest.

Se uma linha não existir ou se as colunas especificadas pelo parâmetro columns_to_get estiverem vazias, o objeto RowInBatchGetRowResponse ainda aparecerá no objeto TableInBatchGetRowResponse. Contudo, os parâmetros primary_key_columns e attribute_columns dessa linha estarão vazios.

Quando a leitura de uma linha falha, o valor de is_ok em RowInBatchGetRowResponse é false para essa linha e a linha fica vazia.

Usar SDKs do Tablestore

Use os seguintes SDKs do Tablestore para ler várias linhas de dados de uma ou mais tabelas simultaneamente:

Consumo de CU

  • Nenhuma CU é consumida se a operação falhar.

  • Caso a solicitação atinja o tempo limite e os resultados fiquem indefinidos, as CUs podem ou não ser consumidas.

  • Nos demais casos, cada objeto RowInBatchGetRowRequest é tratado como uma operação GetRow, cujas CUs de leitura são calculadas separadamente. Para obter mais informações, consulte Consumo de CU.