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érence aux attributs des éléments lors de l'utilisation d'expressions dans DynamoDB
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
Les exemples de cette page utilisent l'exemple d'élément suivant dans le ProductCatalog
tableau. 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
) est123
. Il n'y a aucune clé de tri. -
La plupart des attributs ont des types de données scalaires, telles que
String
,Number
,Boolean
etNull
. -
Un attribut (
Color
) est unString Set
. -
Les attributs suivants sont des types de données de documents :
-
Une liste de
RelatedItems
. Chaque élément est unId
pour un produit concerné. -
Une carte de
Pictures
. Chaque élément est une brève description d'une image, accompagnée d'un identifiant 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 Référence aux attributs des éléments 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, 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
ouA-Z
et/ou0-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.