Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Requête
Important
Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.
Pour une documentation sur l'API de bas niveau actuelle, consultez la Référence d'API Amazon DynamoDB.
Description
Une Query
opération obtient les valeurs d'un ou de plusieurs éléments et leurs attributs par clé primaire (Query
disponible uniquement pour les tables de clés hash-and-range primaires). Vous devez indiquer une HashKeyValue
spécifique, et pouvez restreindre la portée de la requête à l'aide d'opérateurs de comparaison sur la RangeKeyValue
de la clé primaire. Utilisez le paramètre ScanIndexForward
pour obtenir les résultats dans l'ordre croissant ou inverse par clé de plage.
Les requêtes qui ne renvoient pas de résultat consomment les unités de capacité de lecture minimum en fonction du type de lecture.
Note
Si le nombre total d'éléments correspondant aux paramètres de requête dépasse la limite de 1 Mo, la requête s'arrête et les résultats sont renvoyés à l'utilisateur avec une LastEvaluatedKey
pour continuer la requête dans une opération subséquente. Contrairement à une opération d'analyse, une opération de requête ne renvoie jamais un ensemble de résultats vide et une valeur LastEvaluatedKey
. La valeur LastEvaluatedKey
n'est fournie que si les résultats dépassent 1 Mo ou si vous avez utilisé le paramètre Limit
.
Le résultat peut être défini pour une lecture cohérente à l'aide du paramètre ConsistentRead
.
Requêtes
Syntaxe
// This header is abbreviated. // For a sample of a complete header, see DynamoDB de bas niveau API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Query content-type: application/x-amz-json-1.0 {"TableName":"Table1", "Limit":2, "ConsistentRead":true, "HashKeyValue":{"S":"AttributeValue1":}, "RangeKeyCondition": {"AttributeValueList":[{"N":"AttributeValue2"}],"ComparisonOperator":"GT"} "ScanIndexForward":true, "ExclusiveStartKey":{ "HashKeyElement":{"S":"AttributeName1"}, "RangeKeyElement":{"N":"AttributeName2"} }, "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]}, }
Name (Nom) | Description | Obligatoire |
---|---|---|
TableName
|
Nom de la table contenant les éléments demandés. Type : chaîne |
Oui |
AttributesToGet
|
Tableau de noms d'attribut. Si des noms d'attribut ne sont pas spécifiés, tous les attributs sont renvoyés. Si certains attributs ne sont pas trouvés, ils n'apparaissent pas dans le résultat. Type : Array |
Non |
Limit
|
Nombre maximum d'éléments à renvoyer (pas nécessairement le nombre d'éléments correspondants). Si DynamoDB traite le nombre d'éléments jusqu'à la limite lors de l'interrogation de la table, il arrête la requête et renvoie les valeurs correspondantes jusqu'à ce point, ainsi qu'une valeur Type : nombre |
Non |
ConsistentRead
|
Si la valeur est définie sur Type : booléen |
Non |
Count
|
Si la valeur est définie sur Ne pas définissez pas la valeur Type : booléen |
Non |
HashKeyValue
|
Valeur d'attribut du composant de hachage de la clé primaire composite. Type : chaîne, nombre ou binaire |
Oui |
RangeKeyCondition
|
Conteneur pour les valeurs d'attribut et les opérateurs de comparaison à utiliser pour la requête. Une demande de requête ne nécessite pas de Type : carte |
Non |
RangeKeyCondition :
AttributeValueList |
Valeurs d'attribut à évaluer pour les paramètres de requête. La Type : mappage de |
Non |
RangeKeyCondition :
ComparisonOperator |
Critères d'évaluation des attributs fournis, tels que Egal à, Supérieur à, etc. Les opérateurs de comparaison valides pour une opération de requête sont les suivants. NoteLes comparaisons de valeurs de chaîne pour les critères Supérieur à, Egal à ou Inférieur à sont basées sur des valeurs de code de caractère ASCII. Par exemple, Pour une valeur binaire, DynamoDB traite chaque octet des données binaires comme non signé quand il compare des valeurs binaires, par exemple, lors de l'évaluation d'expressions de requête. Type : chaîne ou binaire |
Non |
Pour |
||
Pour |
||
Pour |
||
Pour |
||
Pour |
||
Pour |
||
Pour |
||
ScanIndexForward |
Spécifie le balayage ascendant ou descendant de l'index. DynamoDB renvoie des résultats reflétant l'ordre demandé déterminé par la clé de plage. Si le type de données est Nombre, les résultats sont renvoyés dans l'ordre numérique. Sinon, le balayage est basé sur des valeurs de code de caractère ASCII. Type : booléen Le paramétrage par défaut est |
Non |
ExclusiveStartKey |
Clé primaire de l'élément à partir duquel continuer une requête antérieure. Une requête antérieure peut fournir cette valeur en tant que Type : |
Non |
Réponses
Syntaxe
HTTP/1.1 200 x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 308 {"Count":2,"Items":[{ "AttributeName1":{"S":"AttributeValue1"}, "AttributeName2":{"N":"AttributeValue2"}, "AttributeName3":{"S":"AttributeValue3"} },{ "AttributeName1":{"S":"AttributeValue3"}, "AttributeName2":{"N":"AttributeValue4"}, "AttributeName3":{"S":"AttributeValue3"}, "AttributeName5":{"B":"dmFsdWU="} }], "LastEvaluatedKey":{"HashKeyElement":{"AttributeValue3":"S"}, "RangeKeyElement":{"AttributeValue4":"N"} }, "ConsumedCapacityUnits":1 }
Name (Nom) | Description |
---|---|
Items
|
Attributs d'élément répondant aux paramètres de requête. Type : mappage de noms d'attribut à leurs types de données et valeurs. |
Count
|
Nombre d'éléments dans la réponse. Pour plus d’informations, consultez Comptabilisation des éléments dans les résultats. Type : nombre |
LastEvaluatedKey |
Clé primaire de l'élément où l'opération de requête s'est arrêtée, incluant l'ensemble de résultats précédent. Utilisez cette valeur pour démarrer une nouvelle opération excluant cette valeur dans la nouvelle demande. La Type : |
ConsumedCapacityUnits |
Nombre d'unités de capacité de lecture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Pour plus d'informations, consultez Mode de capacité provisionnée DynamoDB. Type : nombre |
Erreurs spéciales
Erreur | Description |
---|---|
ResourceNotFoundException
|
La table spécifiée n'a pas été trouvée. |
Exemples
Pour des exemples d'utilisation du AWS SDK, consultezInterrogation de tables dans DynamoDB.
Exemple de demande
// This header is abbreviated. For a sample of a complete header, see DynamoDB de bas niveau API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Query content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable", "Limit":2, "HashKeyValue":{"S":"John"}, "ScanIndexForward":false, "ExclusiveStartKey":{ "HashKeyElement":{"S":"John"}, "RangeKeyElement":{"S":"The Matrix"} } }
Exemple de réponse
HTTP/1.1 200 x-amzn-RequestId: 3647e778-71eb-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 308 {"Count":2,"Items":[{ "fans":{"SS":["Jody","Jake"]}, "name":{"S":"John"}, "rating":{"S":"***"}, "title":{"S":"The End"} },{ "fans":{"SS":["Jody","Jake"]}, "name":{"S":"John"}, "rating":{"S":"***"}, "title":{"S":"The Beatles"} }], "LastEvaluatedKey":{"HashKeyElement":{"S":"John"},"RangeKeyElement":{"S":"The Beatles"}}, "ConsumedCapacityUnits":1 }
Exemple de demande
// This header is abbreviated. For a sample of a complete header, see DynamoDB de bas niveau API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Query content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable", "Limit":2, "HashKeyValue":{"S":"Airplane"}, "RangeKeyCondition":{"AttributeValueList":[{"N":"1980"}],"ComparisonOperator":"EQ"}, "ScanIndexForward":false}
Exemple de réponse
HTTP/1.1 200 x-amzn-RequestId: 8b9ee1ad-774c-11e0-9172-d954e38f553a content-type: application/x-amz-json-1.0 content-length: 119 {"Count":1,"Items":[{ "fans":{"SS":["Dave","Aaron"]}, "name":{"S":"Airplane"}, "rating":{"S":"***"}, "year":{"N":"1980"} }], "ConsumedCapacityUnits":1 }