Spécification d'attributs d'élément lors de l'utilisation d'expressions - 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.

Spécification d'attributs d'élément lors de l'utilisation d'expressions

Cette section décrit comment faire référence à des attributs d'élément dans une expression dans Amazon DynamoDB. Vous pouvez utiliser n'importe quel attribut, même s'il est profondément imbriqué dans plusieurs listes et cartes.

Un exemple d'article : ProductCatalog

Ce qui suit est une représentation d'un élément dans la table ProductCatalog. Cette table est décrite dans Tableaux et données de l'exemple.

{ "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, telles que 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, cette carte est remplie 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 attribut. Dans le cas de l'élément ProductCatalog, les attributs de niveau supérieur sont les suivants :

  • 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 (carte) et ProductReviews (carte).

Attributs imbriqués

Un attribut est dit imbriqué lorsqu'il est incorporé dans un autre attribut. Pour accéder à un attribut imbriqué, utilisez des 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]

Pour accéder aux éléments de la map

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

  • MyMap.nestedField

  • MyMap.nestedField.deeplyNestedField

Chemins d'accès du document

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

Voici quelques exemples d'expressions de chemins d'accès à un document. Reportez-vous à l'élément présenté dans Spécification d'attributs d'élément lors de l'utilisation d'expressions.

  • Attribut scalaire de niveau supérieur.

    Description

  • Attribut de liste de niveau supérieur. (Renvoie la liste entière, pas simplement 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 de 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 n'importe quel nom d'attribut dans le chemin d'un document, à condition qu'il réponde aux exigences suivantes :

  • Le nom de l'attribut doit commencer par un signe dièse (#)

  • 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 plus d’informations, consultez Noms d'attributs d'expression dans DynamoDB.