Tous les produits
Search
Centre de documentation

Tablestore:BatchGetRow

Dernière mise à jour :Aug 18, 2026

Lit simultanément plusieurs lignes de données dans une ou plusieurs tables.

L'opération BatchGetRow regroupe un ensemble d'opérations GetRow. Lors de l'appel à BatchGetRow, chaque opération GetRow s'exécute individuellement, renvoie sa réponse séparément et voit ses unités de capacité (CU) calculées indépendamment.

Privilégiez l'appel à BatchGetRow plutôt que des appels multiples à GetRow pour réduire le temps de réponse et améliorer les performances de lecture des données.

Syntaxe de la requête

message BatchGetRowRequest {
    repeated TableInBatchGetRowRequest tables = 1;
}           

Parameter

Type

Required

Description

tables

repeated TableInBatchGetRowRequest

Yes

Les lignes à lire dans chaque table.

L'opération échoue et renvoie une erreur si l'une des conditions suivantes est remplie :

  • Une table spécifique n'existe pas.

  • Le nom d'une table spécifique ne respecte pas les conventions de dénomination. Pour plus d'informations, consultez Naming conventions and data types.

  • La clé primaire n'est pas spécifiée, le nom d'une colonne de clé primaire ne respecte pas les conventions de dénomination ou le type d'une colonne de clé primaire est invalide pour une ligne spécifique.

  • Le nom d'une colonne spécifiée via le paramètre columns_to_get dans une table spécifique ne respecte pas les conventions de dénomination. Pour plus d'informations, consultez Naming conventions and data types.

  • Des tables portant le même nom sont spécifiées.

  • Le nombre total d'objets RowInBatchGetRowRequest pour toutes les tables spécifiées dépasse 100.

  • Aucun objet RowInBatchGetRowRequest n'est spécifié pour une table spécifique.

  • Le nombre de colonnes spécifiées via le paramètre columns_to_get dépasse 128 pour une table spécifique.

Syntaxe de la réponse

Remarque

L'opération BatchGetRow peut partiellement échouer au niveau des lignes. Toutefois, elle renvoie toujours le code d'état HTTP 200. L'application doit vérifier les erreurs présentes dans RowInBatchGetRowResponse pour confirmer le résultat d'exécution de chaque ligne avant de poursuivre.

message BatchGetRowResponse {
    repeated TableInBatchGetRowResponse tables = 1;
}          

Parameter

Type

Description

tables

repeated TableInBatchGetRowResponse

Les lignes lues dans chaque table.

L'ordre des objets TableInBatchGetRowResponse dans la réponse correspond à celui des objets TableInBatchGetRowRequest dans BatchGetRowRequest. De même, l'ordre des objets RowInBatchGetRowResponse dans TableInBatchGetRowResponse suit celui des objets RowInBatchGetRowRequest dans TableInBatchGetRowRequest.

Si une ligne n'existe pas ou si les colonnes spécifiées via le paramètre columns_to_get pour cette ligne sont vides, l'objet RowInBatchGetRowResponse apparaît tout de même dans l'objet TableInBatchGetRowResponse. Cependant, les paramètres primary_key_columns et attribute_columns restent vides pour cette ligne.

En cas d'échec de la lecture d'une ligne, la valeur is_ok dans RowInBatchGetRowResponse est définie sur false et la ligne est vide.

Utiliser les SDK Tablestore

Utilisez les SDK Tablestore suivants pour lire simultanément plusieurs lignes de données dans une ou plusieurs tables :

Consommation de CU

  • Si l'opération échoue, aucune CU n'est consommée.

  • En cas d'expiration du délai de la requête avec des résultats indéfinis, des CU peuvent ou non être consommées.

  • Dans les autres cas, chaque objet RowInBatchGetRowRequest est considéré comme une opération GetRow dont les CU de lecture sont calculées séparément. Pour plus d'informations, consultez la section Consommation de CU.