Riferimento agli attributi degli elementi quando si utilizzano espressioni in DynamoDB - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riferimento agli attributi degli elementi quando si utilizzano espressioni in DynamoDB

In questa sezione viene descritto come fare riferimento agli attributi degli elementi in una espressione in Amazon DynamoDB. Puoi utilizzare qualsiasi attributo, anche se è nidificato all'interno di più elenchi e mappe.

Un articolo di esempio: ProductCatalog

Gli esempi in questa pagina utilizzano il seguente elemento di esempio nella ProductCatalog tabella. (Questa tabella è descritta in Tabelle e dati di esempio da utilizzare in 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" }

Tieni presente quanto segue:

  • il valore della chiave di partizione (Id) è 123. Non vi è chiave di ordinamento;

  • la maggior parte degli attributi dispone di tipi di dati scalari, come String, Number, Boolean e Null;

  • un attributo (Color) è di tipo String Set;

  • i seguenti attributi sono tipi di dati dei documenti:

    • elenco di RelatedItems. Ogni elemento è un Id per un prodotto correlato;

    • una mappa di Pictures. Ogni elemento è una breve descrizione di un'immagine, insieme a una URL per il file di immagine corrispondente.

    • una mappa di ProductReviews. Ogni elemento rappresenta una classificazione e un elenco delle valutazioni corrispondenti a quella classificazione. Inizialmente, questa mappa viene popolata con valutazioni di cinque stelle e di una stella.

Attributi di primo livello

Un attributo si definisce di primo livello se non è incorporato in un altro attributo. Per gli elementi ProductCatalog, gli attributi di primo livello sono:

  • Id

  • Title

  • Description

  • BicycleType

  • Brand

  • Price

  • Color

  • ProductCategory

  • InStock

  • QuantityOnHand

  • RelatedItems

  • Pictures

  • ProductReviews

  • Comment

  • Safety.Warning

Tutti questi attributi di primo livello sono scalari, eccetto Color (elenco), RelatedItems (elenco), Pictures (mappa) e ProductReviews (mappa).

Attributi nidificati

Un attributo si definisce nidificato se è incorporato in un altro attributo. Per ottenere l'accesso a un attributo nidificato, usa gli operatori di deferenziazione:

  • [n]: per gli elementi list

  • . (punto): per gli elementi map

Accesso agli elementi dell'elenco

L'operatore di deferenziazione per un elemento dell'elenco è [N], dove n è il numero dell'elemento. Gli elementi dell'elenco sono a base zero, ovvero [0] rappresenta il primo elemento nell'elenco, [1] il secondo e così via. Ecco alcuni esempi:

  • MyList[0]

  • AnotherList[12]

  • ThisList[5][11]

L'elemento ThisList[5] è esso stesso un elenco nidificato. Pertanto, ThisList[5][11] si riferisce al dodicesimo elemento in quell'elenco.

Il numero all'interno delle parentesi quadre deve essere un numero intero non negativo. Pertanto, le espressioni seguenti non sono valide:

  • MyList[-1]

  • MyList[0.4]

Accesso agli elementi della mappa

L'operatore di deferenziazione per una mappa è . (un punto). Usa un punto come separatore tra gli elementi in una mappa:

  • MyMap.nestedField

  • MyMap.nestedField.deeplyNestedField

Percorsi dei documenti

In un espressione si utilizza un percorso del documento per comunicare a DynamoDB dove trovare un attributo. Per gli attributi di primo livello, il percorso del documento è semplicemente il nome dell'attributo. Per un attributo nidificato, costruisci il percorso del documento usando gli operatori di deferenziazione.

Di seguito sono riportati alcuni esempi di percorsi di documenti. (Fai riferimento all'elemento mostrato in Riferimento agli attributi degli elementi quando si utilizzano espressioni in DynamoDB).

  • Un attributo scalare di primo livello:

    Description

  • Un attributo dell'elenco di primo livello. (Questo restituisce l'intero elenco, non solo alcuni elementi).

    RelatedItems

  • Il terzo elemento dall'elenco RelatedItems. (Ricorda che gli elementi dell'elenco sono a base zero).

    RelatedItems[2]

  • L'immagine di vista frontale del prodotto.

    Pictures.FrontView

  • Tutte le valutazioni da cinque stelle.

    ProductReviews.FiveStar

  • La prima delle valutazioni da cinque stelle.

    ProductReviews.FiveStar[0]

Nota

La profondità massima per un percorso del documento è 32. Pertanto, il numero di operatori di deferenziazione in un percorso non può eccedere questo limite.

È possibile utilizzare qualsiasi nome di attributo nel percorso di un documento purché soddisfi i seguenti requisiti:

  • Il nome dell'attributo deve iniziare con il cancelletto (#)

  • Il primo carattere è una lettera (a-z o A-Z) o un numero (0-9)

  • Il secondo carattere (se presente) è una lettera (a-z o A-Z)

Nota

Se un nome di attributo non soddisfa questo requisito, devi definire un nome di attributo dell'espressione come un segnaposto.

Per ulteriori informazioni, consulta Nomi degli attributi di espressione (alias) in DynamoDB.