Tous les produits
Search
Centre de documentation

Tablestore:GetRow

Dernière mise à jour :Sep 22, 2026

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

TimeRange

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

ConsumedCapacity

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 :

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.