Lee una sola fila de datos con base en la clave principal especificada.
Sintaxis de la solicitud
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 |
Obligatorio |
Descripción |
|
table_name |
string |
Sí |
El nombre de la tabla cuyos datos desea leer. |
|
primary_key |
bytes |
Sí |
Todas las columnas de clave principal de la fila, incluidos sus nombres y valores. Estas columnas se codifican en formato PlainBuffer. Para obtener más información, consulte PlainBuffer. |
|
columns_to_get |
string |
No |
Los nombres de las columnas que desea devolver. Si no especifica este parámetro, se devuelven todas las columnas de la fila. El valor de este parámetro puede contener un máximo de 128 cadenas. Si la columna especificada no existe, no se devuelven sus datos. Si especifica nombres de columna duplicados, la respuesta incluye dicha columna solo una vez. |
|
time_range |
No (debe especificar como mínimo uno de los parámetros time_range o max_versions). |
El intervalo de marcas de tiempo en el que desea leer varias versiones de los datos. El valor mínimo es 0 y el máximo es INT64.MAX. Unidad: milisegundos. Si desea consultar datos dentro de un intervalo de tiempo específico, especifique start_time y end_time. Para consultar datos que contengan una marca de tiempo específica, indique specific_time. Por ejemplo, si el valor de time_range es [100, 200), la marca de tiempo de los datos en las columnas devueltas debe estar dentro del intervalo [100, 200). |
|
|
max_versions |
int32 |
No (debe especificar como mínimo uno de los parámetros time_range o max_versions). |
El número máximo de versiones de datos que desea devolver. Si el valor de max_versions es 2, se devuelven hasta dos versiones de datos por cada columna. |
|
filter |
bytes |
No |
La expresión de la condición de filtro. Esta expresión se serializa como datos binarios mediante Protobuf. Para obtener más información, consulte Filter. |
|
start_column |
string |
No |
La columna desde la cual inicia la operación de lectura en la fila. Este parámetro se utiliza para leer columnas anchas. Las columnas se ordenan alfabéticamente según su nombre. La respuesta contiene la columna de inicio especificada. Si una tabla contiene las columnas a, b y c, y el valor de start_column es b, la operación de lectura comienza en la columna b y se devuelven las columnas b y c. |
|
end_column |
string |
No |
La columna en la que finaliza la operación de lectura. La respuesta no contiene la columna de fin especificada. Las columnas se ordenan alfabéticamente según su nombre. Ejemplo: si una tabla contiene las columnas a, b y c, y el valor de end_column es b, la operación de lectura termina en la columna b y solo se devuelve la columna a. |
|
token |
bytes |
No |
La posición en la que inicia la siguiente operación de lectura dentro de la columna ancha. Este parámetro no está available. |
|
transaction_id |
string |
No |
El identificador de la transacción local. Este parámetro es obligatorio si utiliza la función de transacción local para leer datos. |
Sintaxis de la respuesta
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 |
Descripción |
|
consumed |
El número de unidades de capacidad (CU) que consume la operación. Para obtener más información, consulte CU consumption. |
|
|
row |
bytes |
Los datos leídos de la fila. Si la fila solicitada no existe, no se devuelven datos. Los datos devueltos se codifican en formato PlainBuffer. Para obtener más información sobre PlainBuffer, consulte PlainBuffer. |
|
next_token |
bytes |
El token que se devuelve cuando el número de columnas en una fila de datos supera 128 en una solicitud. |
Uso de los SDK de Tablestore
Use los siguientes SDK de Tablestore para leer una fila de datos:
SDK de Tablestore para Java: Read a single row of data
SDK de Tablestore para Go: Read a single row of data
SDK de Tablestore para Python: Read single row data
SDK de Tablestore para Node.js: Read a single row
SDK de Tablestore para .NET: Read a single row of data
SDK de Tablestore para PHP: Read a single row of data
Consumo de CU
Si la fila solicitada no existe, se consume una CU de lectura.
Si la fila solicitada existe, el número de CU de lectura consumidas se redondea hacia arriba a partir del valor calculado con la siguiente fórmula: Número de CU de lectura consumidas = (Tamaño de los datos en todas las columnas de clave principal de la fila + Tamaño de los datos en las columnas de atributos leídas) / 4 KB. Para obtener más información sobre cómo calcular el tamaño de los datos, consulte Billing overview.
Si la solicitud agota el tiempo de espera y los resultados quedan indefinidos, es posible que se consuman CU o que no se consuman.
Si se devuelve un código de estado HTTP 5xx, lo cual indica que ocurrió un error interno, la operación no consume CU. En caso de otros errores, se consume una CU de lectura.