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 :
|
Syntaxe de la réponse
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 :
SDK Tablestore pour Java : Lire plusieurs lignes de données à la fois
SDK Tablestore pour Go : Lire plusieurs lignes de données à la fois
SDK Tablestore pour Python : Lire plusieurs lignes de données à la fois
SDK Tablestore pour Node.js : Lire plusieurs lignes de données à la fois
SDK Tablestore pour .NET : Lire plusieurs lignes de données à la fois
SDK Tablestore pour PHP : Lire plusieurs lignes de données à la fois
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.