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 leurs noms et valeurs. 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. 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. En cas de doublons dans les noms de colonnes, la réponse n'inclut la 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'horodatage dans laquelle 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 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, sérialisée sous forme de données binaires via Protobuf. Pour plus d'informations, consultez Filter. |
|
start_column |
string |
Non |
Colonne à partir de laquelle commence la lecture dans la ligne. Ce paramètre sert à lire des colonnes larges. Les colonnes sont triées par ordre alphabétique. La réponse inclut la colonne de début spécifiée. Exemple : si une table contient les colonnes a, b et c et que la valeur de start_column est b, la lecture commence à la colonne b et renvoie les colonnes b et c. |
|
end_column |
string |
Non |
Colonne à laquelle s'arrête la lecture. La réponse n'inclut pas la colonne de fin spécifiée. Les colonnes sont triées par ordre alphabétique. Exemple : si une table contient les colonnes a, b et c et que la valeur de end_column est b, la lecture s'arrête à la colonne b et renvoie uniquement la colonne a. |
|
token |
bytes |
Non |
Position de départ de la prochaine opération de lecture 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 pour lire des données via la fonctionnalité de transaction locale. |
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 d'UC. |
|
|
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 d'UC
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'UC de lecture consommées est arrondi à l'entier supérieur selon la formule suivante : Nombre d'UC 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 UC peuvent ou non être consommées.
Si un code d'état HTTP 5xx est renvoyé (indiquant une erreur interne), l'opération ne consomme pas d'UC. Pour toute autre erreur, une UC de lecture est consommée.