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:
|
Sintaxe da resposta
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:
Tablestore SDK for Java: Ler várias linhas de dados por vez
Tablestore SDK for Go: Ler várias linhas de dados por vez
Tablestore SDK for Python: Ler várias linhas de dados por vez
Tablestore SDK for Node.js: Ler várias linhas de dados por vez
Tablestore SDK for .NET: Ler várias linhas de dados por vez
Tablestore SDK for PHP: Ler várias linhas de dados por vez
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.