Exemple de interogări DynamoDB

Exemple De Interogari Dynamodb



O bază de date este o colecție de date — DynamoDB nu face excepție. Bazele de date conțin o mulțime de date care pot fi dificil de preluat fără un mecanism predefinit. Aici comanda de interogare joacă un rol important.

Ca orice sistem de gestionare a bazelor de date, DynamoDB oferă diverse metode de interogare prin care puteți interacționa cu sistemul pentru a accesa și manipula datele. Interogarea în DynamoDB este un instrument foarte puternic care vă permite să preluați un articol sau un grup de elemente legate de comanda de interogare.

Acest articol prezintă principalele exemple de operațiuni de interogare DynamoDB.







Exemple comune de interogări DynamoDB

Comportamentul implicit pentru operația de interogare din DynamoDB este de a returna toate elementele asociate cu elementele de interogare. Interesant este că comanda de interogare din DynamoDB este utilizabilă cu tabele sau indecși secundari.



Oricare ar fi cazul, asigurați-vă întotdeauna că specificați condiția de egalitate pentru valoarea cheii de partiție. Din nou, poate fi necesar să furnizați o condiție diferită pentru cheia de sortare în cazul în care utilizați una în comandă.



Alți parametri pe care îi veți întâlni atunci când interogați DynamoDB includ, de asemenea, KeyConditionExpression și FilterExpression. KeyConditionExpression specifică valorile cheii pe care intenționați să le interogați. Pe de altă parte, FilterExpression elimină elemente din rezultatele interogării înainte de a primi un răspuns. Veți folosi ExpressionAttributeValues ​​ca substituenți pentru parametrii expresiei menționați.





Exemplele de interogări DynamoDB includ:

Găsirea unui singur articol dintr-un tabel bazat pe cheile primare

Puteți utiliza utilitarul de interogare din DynmoDB pentru a găsi un singur articol bazându-vă pe o combinație a cheii de partiție a elementului și a valorilor cheii de sortare. Sintaxa pentru o astfel de operație este următoarea:



interogare aws dynamodb \

--table-name MyTableName \

--key-condition-expression „PartitionKey = :pk AND SortKey = :sk” \

--expression-atribut-valori „{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Utilitarul de interogare de mai sus are ca scop preluarea unui element cu o valoare a cheii de partiție a1234b și o valoare a cheii de sortare odef456b din tabelul MyTableName. De exemplu, putem folosi utilitarul de mai sus pentru a găsi un articol în tabelul nostru „Comenzi”. Valoarea cheii de partiție a articolului poate fi wr546gg reprezentând ID-ul_client, în timp ce valoarea cheii de sortare a acesteia poate fi 24536433 reprezentând numărul de comandă.

Rezultatul poate fi următorul:

Rezultatul de mai sus aduce înapoi Cărțile de vacanță ca singurul articol care are o valoare a cheii de partiție de wr546gg și o valoare a cheii de sortare de 24536433. De asemenea, vă aduce toate celelalte atribute suplimentare asociate articolului. În ilustrația noastră, aduce înapoi numărul facturii și suma plătită.

În special, comanda de interogare va aduce înapoi o listă goală dacă nu există niciun element care să se potrivească cu valorile cheii primare specificate.

Recupera Toate elementele dintr-un tabel DynamoDB care se potrivesc cu valori specifice de atribut

Utilizați o expresie de filtru pentru a prelua toate elementele care au o valoare de atribut similară într-un anumit tabel DynamoDB.

Comanda pentru această operațiune de interogare este așa cum se arată mai jos.

interogare aws dynamodb \

--table-name MyTableName \

--filtru-expresie „OtherAttribute1 = :val” \

--expression-atribut-valori „{':val':{'S':'value1'}}'

De exemplu, putem folosi comanda de interogare de mai sus pentru a prelua melodii cu mai multe care durează peste 5 minute în tabelul nostru de muzică. Pentru a realiza acest lucru, vom seta valoarea noastră OtherAttribute1 la 5.00 și MyTableName la Muzică.

Rezultatul poate fi așa cum se arată mai jos:

Este necesar să trunchiați lista pentru concizie. Dar din rezultate, comanda noastră de interogare a preluat 11 elemente cu o valoare a expresiei filtrului de 5,00 din tabelul nostru DynamoDB Music.

Preluarea tuturor elementelor cu un anumit interval de valori de atribut

Comanda de mai jos este utilă atunci când recuperați elemente dintr-un anumit tabel:

interogare aws dynamodb \

--table-name \

--key-condition-expression „nume_atribut ÎNTRE :val1 ȘI :val2” \

--expression-atribut-valori „{':val1':{'N':''},':val2':{'N':''}}'

Desigur, va trebui să înlocuiți toate atributele cu acreditările dvs. personalizate, așa cum ar trebui cu orice altă linie de comandă. De exemplu, vom folosi tabelul de angajați cu un atribut cheie de interval botezat „vârstă”. Vom urmări recuperarea angajatorilor cu vârste cuprinse între 30 și 42 de ani.

Noua noastră linie de comandă va fi după cum urmează:

interogare aws dynamodb \

--table-name Utilizatori \

--key-condition-expression 'varsta INTRE :val1 SI :val2' \

--expression-atribut-valori „{':val1':{'N':'30'},':val2':{'N':'42'}}'

Rularea utilitarului de mai sus va aduce un răspuns similar cu cel din figura de mai jos;

Ilustrația de mai sus arată că interogarea a adus înapoi 6 elemente, indicând valoarea atributului pentru fiecare interogare. ScannedCount este numărul de articole scanate în tabel, în timp ce CapacityUnits este cantitatea de unități consumate în timpul operațiunii.

Concluzie

Deoarece DynamoDB este o bază de date NoSQL, operația de interogare a acesteia nu se comportă ca baza de date AQL obișnuită. Dar odată ce ați făcut-o, veți afla că operațiunea este destul de puternică și vă va face interacțiunea cu baza de date rapidă.