Expressions de projections - Amazon DynamoDB

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.

Expressions de projections

Pour lire des données d'une table, vous utilisez des opérations telles que GetItem, Query ou Scan. Par défaut Amazon DynamoDB renvoie tous les attributs d'élément. Pour obtenir seulement quelques-uns et non pas tous les attributs, utilisez une expression de projection.

Une expression de projection est une chaîne qui identifie les attributs que vous voulez. Pour récupérer un seul attribut, spécifiez son nom. Pour plusieurs attributs, les noms doivent être séparés par des virgules.

Les exemples suivants sont des exemples d'expressions de projection basées sur l'élément ProductCatalog à partir de Référence aux attributs des éléments lors de l'utilisation d'expressions dans DynamoDB :

  • Un seul attribut de niveau supérieur.

    Title

  • Trois attributs de niveau supérieur. DynamoDB extrait l'ensemble Color tout entier.

    Title, Price, Color

  • Quatre attributs de niveau supérieur. DynamoDB renvoie tout le contenu de RelatedItems et ProductReviews.

    Title, Description, RelatedItems, ProductReviews

Note

L'expression de projection n'a aucun effet sur la consommation de débit provisionnée. DynamoDB détermine les unités de capacité consommées en fonction de la taille des éléments, plutôt que de la quantité de données renvoyées à une application.

Mots réservés et caractères spéciaux

DynamoDB contient des mots réservés et des caractères spéciaux. DynamoDB vous permet d'utiliser ces mots réservés et ces caractères spéciaux pour les noms, mais nous vous recommandons d'éviter de le faire car vous devez utiliser des alias chaque fois que vous utilisez ces noms dans une expression. Pour obtenir la liste complète, consultez Mots réservés dans DynamoDB.

Vous devrez utiliser des noms d'attributs d'expression à la place du nom réel si :

  • Le nom de l'attribut figure dans la liste des mots réservés dans DynamoDB.

  • Le nom de l'attribut ne répond pas à l'exigence selon laquelle le premier caractère est a-z ou A-Z et que le second caractère (s'il est présent) est a-ZA-Z, ou0-9.

  • Le nom de l'attribut contient un # (hachage) ou : (deux points).

L' AWS CLI exemple suivant montre comment utiliser une expression de projection avec une GetItem opération. Cette expression de projection récupère un attribut scalaire de niveau supérieur (Description), le premier élément d'une liste (RelatedItems[0]) et une liste imbriquée dans une carte (ProductReviews.FiveStar).

aws dynamodb get-item \ --table-name ProductCatalog \ --key '"Id": { "N": "123" } \ --projection-expression "Description, RelatedItems[0], ProductReviews.FiveStar"

JSONCe qui suit serait renvoyé pour cet exemple.

{ "Item": { "Description": { "S": "123 description" }, "ProductReviews": { "M": { "FiveStar": { "L": [ { "S": "Excellent! Can't recommend it highly enough! Buy it!" }, { "S": "Do yourself a favor and buy this." } ] } } }, "RelatedItems": { "L": [ { "N": "341" } ] } } }