Utilizzo di espressioni di proiezione 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à.

Utilizzo di espressioni di proiezione in DynamoDB

Per leggere i dati da una tabella, vengono utilizzate operazioni quali GetItem, Query oppure Scan. Amazon DynamoDB restituisce tutti gli attributi dell'elemento per impostazione predefinita. Per ottenerne solo alcuni degli attributi e non tutti, usa un'espressione di proiezione.

Un'espressione di proiezione è una stringa che identifica gli attributi che desideri. Per recuperare un singolo attributo, specificane il nome. Per più attributi, i nomi devono essere separati da una virgola.

Di seguito sono riportati alcuni esempi di espressioni di proiezione basate sull'elemento ProductCatalog da Riferimento agli attributi degli elementi quando si utilizzano le espressioni in DynamoDB:

  • Un singolo attributo di primo livello.

    Title

  • Tre attributi di livello superiore DynamoDB recupera l'intero set Color.

    Title, Price, Color

  • Quattro attributi di livello superiore. DynamoDB restituisce l'intero contenuto di RelatedItems e ProductReviews.

    Title, Description, RelatedItems, ProductReviews

Nota

L’espressione di proiezione non ha alcun effetto sul consumo di throughput allocato. DynamoDB determina le unità di capacità utilizzate in base alla dimensione dell’elemento anziché alla quantità di dati restituiti a un’applicazione.

Parole riservate e caratteri speciali

DynamoDB dispone di parole riservate e caratteri speciali. DynamoDB consente di utilizzare le parole riservate e i caratteri speciali per i nomi, ma si consiglia di evitare questa opzione perché comporta l’utilizzo di alias per i nomi ogni volta che questi vengono utilizzati in un’espressione. Per un elenco completo, consulta Parole riservate in DynamoDB.

Sarà necessario utilizzare i nomi degli attributi di espressione al posto del nome effettivo se:

  • Il nome di attributo è nell’elenco di parole riservate in DynamoDB.

  • Il nome dell’attributo non soddisfa il requisito che il primo carattere sia a-z o A-Z e che il secondo carattere (se presente) sia a-Z, A-Z o0-9.

  • Il nome dell’attributo contiene un # (cancelletto) o : (due punti).

L' AWS CLI esempio seguente mostra come utilizzare un'espressione di proiezione con un'GetItemoperazione. Questa espressione di proiezione recupera un attributo scalare di primo livello (Description), il primo elemento in un elenco (RelatedItems[0]) e un elenco nidificato in una mappa (ProductReviews.FiveStar).

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

Per questo esempio viene restituito il seguente JSON.

{ "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" } ] } } }