Esempi di query DynamoDB

Esempi Di Query Dynamodb



Un database è una raccolta di dati: DynamoDB non fa eccezione. I database contengono molti dati che potrebbero essere difficili da recuperare senza un meccanismo predefinito. È qui che il comando query gioca un ruolo importante.

Come qualsiasi sistema di gestione di database, DynamoDB offre vari metodi di interrogazione attraverso i quali puoi interagire con il sistema per accedere e manipolare i tuoi dati. L'esecuzione di query in DynamoDB è uno strumento molto potente che consente di recuperare un elemento o un gruppo di elementi correlati al comando query.

Questo articolo illustra i principali esempi delle operazioni di query DynamoDB.







Esempi comuni di query DynamoDB

Il comportamento predefinito per l'operazione di query in DynamoDB è restituire tutti gli elementi associati agli elementi della query. È interessante notare che il comando query in DynamoDB è utilizzabile con tabelle o indici secondari.



In ogni caso, assicurati sempre di specificare la condizione di uguaglianza per il valore della tua chiave di partizione. Ancora una volta, potrebbe essere necessario fornire una condizione diversa per la chiave di ordinamento nel caso in cui ne utilizzi una nel comando.



Altri parametri che incontrerai durante l'esecuzione di query su DynamoDB includono anche KeyConditionExpression e FilterExpression. KeyConditionExpression specifica i valori della chiave che si desidera interrogare. D'altra parte, FilterExpression rimuove gli elementi dai risultati della query prima di ottenere una risposta. Utilizzerai ExpressionAttributeValues ​​come segnaposto per i parametri di espressione citati.





Gli esempi di query DynamoDB includono:

Trovare un singolo elemento da una tabella basata su chiavi primarie

Puoi utilizzare l'utilità Query in DynmoDB per trovare un singolo elemento facendo affidamento su una combinazione della chiave di partizione dell'elemento e dei valori della chiave di ordinamento. La sintassi per tale operazione è la seguente:



query aws dynamodb \

--table-name MyTableName \

--espressione-condizione-chiave 'PartitionKey = :pk AND SortKey = :sk' \

--espressione-attributo-valori '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

L'utilità di query di cui sopra mira a recuperare un elemento con un valore di chiave di partizione a1234b e un valore di chiave di ordinamento odef456b dalla tabella MyTableName. Ad esempio, possiamo utilizzare l'utilità di cui sopra per trovare un articolo nella nostra tabella 'Ordini'. Il valore della chiave di partizione dell'elemento può essere wr546gg che rappresenta il Customer_ID, mentre il suo valore di chiave di ordinamento può essere 24536433 che rappresenta il numero d'ordine.

Il risultato può essere il seguente:

Il risultato precedente riporta Holiday Books come l'unico elemento che ha un valore di chiave di partizione di wr546gg e un valore di chiave di ordinamento di 24536433. Fornisce inoltre tutti gli altri attributi aggiuntivi associati all'elemento. Nella nostra illustrazione riporta il numero della fattura e l'importo pagato.

In particolare, il comando query restituirà un elenco vuoto se non è presente alcun elemento che corrisponda ai valori di chiave primaria specificati.

Recuperare Tutti gli elementi di una tabella DynamoDB che corrispondono a valori di attributi specifici

Utilizza un'espressione di filtro per recuperare tutti gli elementi che hanno un valore di attributo simile in una tabella DynamoDB specifica.

Il comando per questa operazione di query è come mostrato di seguito.

query aws dynamodb \

--table-name MyTableName \

--espressione-filtro 'AltroAttributo1 = :val' \

--espressione-attributo-valori '{':val':{'S':'valore1'}}'

Ad esempio, possiamo utilizzare il comando di query sopra per recuperare brani con più che durano più di 5 minuti nella nostra tabella Musica. Per raggiungere questo obiettivo, imposteremo il nostro valore OtherAttribute1 su 5.00 e MyTableName su Music.

Il risultato può essere come mostrato di seguito:

È necessario troncare l'elenco per brevità. Ma dai risultati, il nostro comando di query ha recuperato 11 elementi con un valore filterexpression di 5.00 dalla nostra tabella DynamoDB Music.

Recupero di tutti gli elementi con un particolare intervallo di valori di attributo

Il comando seguente è utile quando si recuperano elementi all'interno di una particolare tabella:

query aws dynamodb \

--table-name \

--espressione-condizione-chiave 'nome_attributo TRA :val1 E :val2' \

--espressione-attributo-valori '{':val1':{'N':''},':val2':{'N':''}}'

Naturalmente, dovrai sostituire tutti gli attributi con le tue credenziali personalizzate come dovresti fare con qualsiasi altra riga di comando. Ad esempio, utilizzeremo la nostra tabella Impiegato con un attributo chiave di intervallo denominato 'età'. Mireremo a recuperare datori di lavoro di età compresa tra i 30 e i 42 anni.

La nostra nuova riga di comando sarà la seguente:

query aws dynamodb \

--table-name Utenti \

--espressione-condizione-chiave 'età TRA :val1 E :val2' \

--espressione-attributo-valori '{':val1':{'N':'30'},':val2':{'N':'42'}}'

L'esecuzione dell'utilità di cui sopra porterà una risposta simile a quella nella figura sottostante;

L'illustrazione precedente mostra che la query ha restituito 6 elementi, indicando il valore dell'attributo per ogni query. ScannedCount è il numero di elementi scansionati nella tabella mentre CapacityUnits è la quantità di unità consumate durante l'operazione.

Conclusione

Poiché DynamoDB è un database NoSQL, la sua operazione di query non si comporta come quella del normale database AQL. Ma una volta fatto, scoprirai che l'operazione è piuttosto potente e renderà la tua interazione con il database un gioco da ragazzi.