Lê uma única linha de dados com base na chave primária especificada.
Sintaxe da solicitação
message GetRowRequest {
required string table_name = 1;
required bytes primary_key = 2; // The data is encoded as binary data in the PlainBuffer format.
repeated string columns_to_get = 3; // If you do not specify this parameter, all columns are read.
optional TimeRange time_range = 4;
optional int32 max_versions = 5;
optional bytes filter = 7;
optional string start_column = 8;
optional string end_column = 9;
optional bytes token = 10;
optional string transaction_id = 11;
}
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
table_name |
string |
Sim |
Nome da tabela de onde os dados serão lidos. |
|
primary_key |
bytes |
Sim |
Todas as colunas de chave primária da linha, incluindo nomes e valores. As colunas de chave primária são codificadas no formato PlainBuffer. Para mais informações, consulte PlainBuffer. |
|
columns_to_get |
string |
Não |
Nomes das colunas a retornar. Se este parâmetro não for especificado, todas as colunas da linha serão retornadas. O valor pode conter até 128 strings. Se a coluna especificada não existir, nenhum dado correspondente será retornado. Se houver nomes de colunas duplicados, a resposta incluirá essa coluna apenas uma vez. |
|
time_range |
Não (Especifique pelo menos um dos parâmetros: time_range ou max_versions.) |
Intervalo de timestamp para leitura de múltiplas versões de dados. O valor mínimo é 0 e o máximo é INT64.MAX. Unidade: milissegundos. Para consultar dados dentro de um intervalo de tempo específico, especifique start_time e end_time. Para consultar dados com um timestamp exato, use specific_time. Por exemplo, se o valor de time_range for [100, 200), o timestamp dos dados nas colunas retornadas deverá estar no intervalo [100, 200). |
|
|
max_versions |
int32 |
Não (Especifique pelo menos um dos parâmetros: time_range ou max_versions.) |
Número máximo de versões de dados a retornar. Se o valor de max_versions for 2, até duas versões de dados serão retornadas para cada coluna. |
|
filter |
bytes |
Não |
Expressão da condição de filtro. A expressão é serializada como dados binários usando Protobuf. Para mais informações, consulte Filter. |
|
start_column |
string |
Não |
Coluna onde a operação de leitura começa na linha. Use este parâmetro para ler colunas largas. As colunas são ordenadas alfabeticamente por nome. A resposta contém a coluna inicial especificada. Se uma tabela contiver as colunas a, b e c, e o valor de start_column for b, a leitura começará na coluna b, retornando as colunas b e c. |
|
end_column |
string |
Não |
Coluna onde a operação de leitura termina. A resposta não inclui a coluna final especificada. As colunas são classificadas em ordem alfabética pelos nomes. Exemplo: Se uma tabela possuir as colunas a, b e c, e o valor de end_column for b, a leitura terminará na coluna b e apenas a coluna a será retornada. |
|
token |
bytes |
Não |
Posição onde a próxima operação de leitura deve começar na coluna larga. Este parâmetro está indisponível. |
|
transaction_id |
string |
Não |
ID da transação local. Este parâmetro é obrigatório ao usar o recurso de transação local para leitura de dados. |
Sintaxe da resposta
message GetRowResponse {
required ConsumedCapacity consumed = 1;
required bytes row = 2; // The data is encoded as binary data in the PlainBuffer format.
optional bytes next_token = 3;
}
|
Parâmetro |
Tipo |
Descrição |
|
consumed |
Quantidade de unidades de capacidade (CUs) consumidas pela operação. Para mais detalhes, consulte Consumo de CU. |
|
|
row |
bytes |
Dados lidos da linha. Se a linha solicitada não existir, nenhum dado será retornado. Os dados retornados são codificados no formato PlainBuffer. Para mais informações sobre o PlainBuffer, consulte PlainBuffer. |
|
next_token |
bytes |
Token retornado quando o número de colunas em uma linha de dados excede 128 em uma única solicitação. |
Uso dos SDKs do Tablestore
Use os seguintes SDKs do Tablestore para ler uma linha de dados:
Tablestore SDK for Java: Ler uma única linha de dados
Tablestore SDK for Go: Ler uma única linha de dados
Tablestore SDK for Python: Ler dados de linha única
Tablestore SDK for Node.js: Ler uma única linha
Tablestore SDK for .NET: Ler uma única linha de dados
Tablestore SDK for PHP: Ler uma única linha de dados
Consumo de CU
Se a linha solicitada não existir, uma CU de leitura será consumida.
Se a linha solicitada existir, o número de CUs de leitura consumidas será arredondado para cima conforme a seguinte fórmula: Número de CUs de leitura consumidas = (Tamanho dos dados em todas as colunas de chave primária da linha + Tamanho dos dados nas colunas de atributo lidas) / 4 KB. Para mais informações sobre o cálculo do tamanho dos dados, consulte Visão geral do faturamento.
Se a solicitação atingir o tempo limite e os resultados forem indefinidos, as CUs podem ou não ser consumidas.
Se um código de status HTTP 5xx for retornado, indicando erro interno, a operação não consumirá CUs. Para outros erros, uma CU de leitura será consumida.