Lit une seule ligne de données en fonction de la clé primaire spécifiée.
Syntaxe de la requête
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;
}
|
Paramètre |
Type |
Obligatoire |
Description |
|
table_name |
string |
Oui |
Nom de la table dont vous souhaitez lire les données. |
|
primary_key |
bytes |
Oui |
Toutes les colonnes de clé primaire de la ligne, y compris les noms et les valeurs des colonnes de clé primaire. Les colonnes de clé primaire sont encodées au format PlainBuffer. Pour plus d'informations, consultez PlainBuffer. |
|
columns_to_get |
string |
Non |
Noms des colonnes à renvoyer. Si vous ne spécifiez pas ce paramètre, toutes les colonnes de la ligne sont renvoyées. La valeur de ce paramètre peut contenir jusqu'à 128 chaînes. Si la colonne spécifiée n'existe pas, ses données ne sont pas renvoyées. Si vous spécifiez des noms de colonnes en double, la réponse n'inclut cette colonne qu'une seule fois. |
|
time_range |
Non (vous devez spécifier au moins l'un des paramètres time_range ou max_versions.) |
Plage d'horodatages dans laquelle vous souhaitez lire plusieurs versions de données. La valeur minimale est 0 et la valeur maximale est INT64.MAX. Unité : millisecondes. Pour interroger des données comprises dans une plage horaire donnée, spécifiez start_time et end_time. Pour interroger des données contenant un horodatage spécifique, spécifiez specific_time. Par exemple, si la valeur de time_range est [100, 200), l'horodatage des données dans les colonnes renvoyées doit se situer dans la plage [100, 200). |
|
|
max_versions |
int32 |
Non (vous devez spécifier au moins l'un des paramètres time_range ou max_versions.) |
Nombre maximal de versions de données à renvoyer. Si la valeur de max_versions est 2, un maximum de deux versions de données est renvoyé pour chaque colonne. |
|
filter |
bytes |
Non |
Expression de la condition de filtre. L'expression de la condition de filtre est sérialisée sous forme de données binaires à l'aide de Protobuf. Pour plus d'informations, consultez Filter. |
|
start_column |
string |
Non |
Colonne à partir de laquelle l'opération de lecture débute dans la ligne. Ce paramètre sert à lire des colonnes larges. Les colonnes sont triées par ordre alphabétique selon leur nom. La réponse contient la colonne de début spécifiée. Si une table contient les colonnes a, b et c et que la valeur de start_column est b, l'opération de lecture commence à partir de la colonne b et les colonnes b et c sont renvoyées. |
|
end_column |
string |
Non |
Colonne à laquelle l'opération de lecture se termine. La réponse ne contient pas la colonne de fin spécifiée. Les colonnes sont triées par ordre alphabétique selon leur nom. Exemple : si une table contient les colonnes a, b et c et que la valeur de end_column est b, l'opération de lecture s'arrête à la colonne b et seule la colonne a est renvoyée. |
|
token |
bytes |
Non |
Position à laquelle la prochaine opération de lecture débute dans la colonne large. Ce paramètre n'est pas disponible. |
|
transaction_id |
string |
Non |
ID de la transaction locale. Ce paramètre est requis si vous utilisez la fonctionnalité de transaction locale pour lire des données. |
Syntaxe de la réponse
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;
}
|
Paramètre |
Type |
Description |
|
consumed |
Nombre d'unités de capacité (CU) consommées par l'opération. Pour plus d'informations, consultez Consommation de CU. |
|
|
row |
bytes |
Données lues depuis la ligne. Si la ligne demandée n'existe pas, aucune donnée n'est renvoyée. Les données renvoyées sont encodées au format PlainBuffer. Pour plus d'informations sur PlainBuffer, consultez PlainBuffer. |
|
next_token |
bytes |
Jeton renvoyé si le nombre de colonnes dans une ligne de données dépasse 128 lors d'une requête. |
Utiliser les SDK Tablestore
Utilisez les SDK Tablestore suivants pour lire une ligne de données :
SDK Tablestore pour Java : Lire une seule ligne de données
SDK Tablestore pour Go : Lire une seule ligne de données
SDK Tablestore pour Python : Lire les données d'une seule ligne
SDK Tablestore pour Node.js : Lire une seule ligne
SDK Tablestore pour .NET : Lire une seule ligne de données
SDK Tablestore pour PHP : Lire une seule ligne de données
Consommation de CU
Si la ligne demandée n'existe pas, une unité de capacité (CU) de lecture est consommée.
Si la ligne demandée existe, le nombre d'unités de capacité de lecture consommées est arrondi à l'entier supérieur à partir de la valeur calculée à l'aide de la formule suivante : Nombre d'unités de capacité de lecture consommées = (Taille des données dans toutes les colonnes de clé primaire de la ligne + Taille des données dans les colonnes d'attribut lues) / 4 Ko. Pour plus d'informations sur le calcul de la taille des données, consultez Présentation de la facturation.
Si la requête expire et que les résultats sont indéfinis, des unités de capacité peuvent ou non être consommées.
Si un code d'état HTTP 5xx est renvoyé, indiquant qu'une erreur interne s'est produite, l'opération ne consomme pas d'unités de capacité. Si d'autres erreurs sont renvoyées, une unité de capacité de lecture est consommée.