Référencement d’attributs d’élément lors de l’utilisation d’expressions dans DynamoDB - 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.

Référencement d’attributs d’élément lors de l’utilisation d’expressions dans DynamoDB

Cette section décrit comment référencer des attributs d’élément dans une expression dans Amazon DynamoDB. Vous pouvez utiliser tout attribut, même s’il est profondément imbriqué dans plusieurs listes et mappages.

Un exemple d'article : ProductCatalog

Les exemples sur cette page utilisent l’exemple d’élément suivant dans la table ProductCatalog. (Cette table est décrite dans Exemples de tables et de données à utiliser dans DynamoDB.)

{ "Id": 123, "Title": "Bicycle 123", "Description": "123 description", "BicycleType": "Hybrid", "Brand": "Brand-Company C", "Price": 500, "Color": ["Red", "Black"], "ProductCategory": "Bicycle", "InStock": true, "QuantityOnHand": null, "RelatedItems": [ 341, 472, 649 ], "Pictures": { "FrontView": "http://example.com/products/123_front.jpg", "RearView": "http://example.com/products/123_rear.jpg", "SideView": "http://example.com/products/123_left_side.jpg" }, "ProductReviews": { "FiveStar": [ "Excellent! Can't recommend it highly enough! Buy it!", "Do yourself a favor and buy this." ], "OneStar": [ "Terrible product! Do not buy this." ] }, "Comment": "This product sells out quickly during the summer", "Safety.Warning": "Always wear a helmet" }

Notez ce qui suit :

  • La valeur de la clé de partition (Id) est 123. Il n’y a aucune clé de tri.

  • La plupart des attributs ont des types de données scalaires, comme String, Number, Boolean et Null.

  • Un attribut (Color) est un String Set.

  • Les attributs suivants sont des types de données de documents :

    • Une liste de RelatedItems. Chaque élément est un Id pour un produit concerné.

    • Une carte de Pictures. Chaque élément est une brève description d’une image, accompagnée d’une URL pour le fichier image correspondant.

    • Une carte de ProductReviews. Chaque élément représente une évaluation et une liste de commentaires correspondant à cette évaluation. À l’origine, ce mappage est renseigné avec des commentaires cinq étoiles et une étoile.

Attributs de niveau supérieur

Un attribut est dit de niveau supérieur lorsqu’il n’est pas imbriqué dans un autre. Dans le cas de l’élément ProductCatalog, voici les attributs de niveau supérieur :

  • Id

  • Title

  • Description

  • BicycleType

  • Brand

  • Price

  • Color

  • ProductCategory

  • InStock

  • QuantityOnHand

  • RelatedItems

  • Pictures

  • ProductReviews

  • Comment

  • Safety.Warning

Tous ces attributs de niveau supérieur sont scalaires, à l’exception de Color (liste), RelatedItems (liste), Pictures (mappage) et ProductReviews (mappage).

Attributs imbriqués

Un attribut est dit imbriqué lorsqu’il est incorporé dans un autre. Accédez à un attribut imbriqué à l’aide d’opérateurs de déréférençage :

  • [n] – Pour des éléments de liste

  • . (point) – Pour des éléments de mappage

Accès à des éléments de liste

L’opérateur de déréférençage pour un élément de liste est [n], où n est le numéro d’élément. Des éléments de liste sont de base zéro, donc [0] représente le premier élément dans la liste, [1] représente le deuxième et ainsi de suite. Voici quelques exemples :

  • MyList[0]

  • AnotherList[12]

  • ThisList[5][11]

L’élément ThisList[5] est lui-même une liste imbriquée. Par conséquent, ThisList[5][11] fait référence au douzième élément dans cette liste.

Le nombre entre crochets doit être un nombre entier non négatif. Par conséquent, les expressions suivantes ne sont pas valides :

  • MyList[-1]

  • MyList[0.4]

Accès à des éléments de mappage

L’opérateur de déréférençage pour un élément de mappage est . (un point). Utilisez un point comme séparateur entre des éléments d’un mappage :

  • MyMap.nestedField

  • MyMap.nestedField.deeplyNestedField

Chemins d’accès à des documents

Dans une expression, vous indiquez à DynamoDB où trouver un attribut à l’aide d’un chemin d’accès à un document. Pour un attribut de niveau supérieur, le chemin d’accès au document est simplement le nom d’attribut. Pour un attribut imbriqué, vous construisez le chemin d’accès au document à l’aide d’opérateurs de déréférençage.

Voici quelques exemples d’expressions de chemins d’accès à des documents. (Consultez l’élément présenté dans Référencement d’attributs d’élément lors de l’utilisation d’expressions dans DynamoDB.)

  • Attribut scalaire de niveau supérieur.

    Description

  • Attribut de liste de niveau supérieur. (Renvoie la liste entière, et non uniquement certains éléments.)

    RelatedItems

  • Le troisième élément de la liste RelatedItems. (N’oubliez pas que les éléments de liste sont de base zéro.)

    RelatedItems[2]

  • Photo de face du produit.

    Pictures.FrontView

  • Tous les commentaires cinq étoiles.

    ProductReviews.FiveStar

  • Le premier des commentaires cinq étoiles.

    ProductReviews.FiveStar[0]

Note

La profondeur maximale pour un chemin d’accès à un document est de 32. Par conséquent, le nombre d’opérateurs de déréférençage dans un chemin d’accès ne peut pas dépasser cette limite.

Vous pouvez utiliser tout nom d’attribut dans le chemin d’accès à un document, à condition qu’il réponde aux exigences suivantes :

  • Le premier caractère est a-z ou A-Z et/ou 0-9.

  • Le second caractère (le cas échéant) est a-z, A-Z.

Note

Si un nom d’attribut ne répond pas à cette exigence, vous devez définir un nom d’attribut d’expression comme espace réservé.

Pour de plus amples informations, veuillez consulter Noms d’attributs d’expression (alias) dans DynamoDB.