Primjeri DynamoDB upita

Primjeri Dynamodb Upita



Baza podataka je zbirka podataka—DynamoDB nije iznimka. Baze podataka sadrže mnogo podataka koje je teško dohvatiti bez prethodno definiranog mehanizma. Ovdje naredba za upit igra važnu ulogu.

Kao i svaki sustav za upravljanje bazom podataka, DynamoDB nudi različite metode postavljanja upita putem kojih možete komunicirati sa sustavom kako biste pristupili svojim podacima i manipulirali njima. Upit u DynamoDB-u vrlo je moćan alat koji vam omogućuje dohvaćanje stavke ili grupe stavki povezanih s naredbom upita.

Ovaj članak opisuje glavne primjere operacija upita DynamoDB.







Uobičajeni primjeri DynamoDB upita

Zadano ponašanje za operaciju upita u DynamoDB-u je vraćanje svih stavki povezanih sa stavkama upita. Zanimljivo je da se naredba upita u DynamoDB-u može koristiti s tablicama ili sekundarnim indeksima.



Što god da je u pitanju, uvijek provjerite jeste li naveli uvjet jednakosti za vrijednost vašeg particijskog ključa. Opet, možda ćete morati osigurati drugačiji uvjet za ključ sortiranja u slučaju da ga koristite u naredbi.



Ostali parametri na koje ćete naići prilikom postavljanja upita DynamoDB također uključuju KeyConditionExpression i FilterExpression. KeyConditionExpression specificira ključne vrijednosti koje namjeravate postaviti upit. S druge strane, FilterExpression uklanja stavke iz rezultata upita prije nego što dobijete odgovor. Koristit ćete ExpressionAttributeValues ​​kao rezervirana mjesta za navedene parametre izraza.





Primjeri DynamoDB upita uključuju:

Pronalaženje jedne stavke iz tablice na temelju primarnih ključeva

Možete koristiti uslužni program Query u DynmoDB-u da pronađete jednu stavku oslanjajući se na kombinaciju particijskog ključa stavke i vrijednosti ključa sortiranja. Sintaksa za takvu operaciju je sljedeća:



aws dynamodb upit \

--table-name MyTableName \

--izraz-ključnog-uvjeta 'PartitionKey = :pk AND SortKey = :sk' \

--vrijednosti-atributa-izraza '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Gornji uslužni program za upit ima za cilj dohvatiti stavku s vrijednošću particijskog ključa a1234b i vrijednošću ključa sortiranja odef456b iz tablice MyTableName. Na primjer, možemo upotrijebiti gornji pomoćni program da pronađemo stavku u našoj tablici 'Narudžbe'. Vrijednost particijskog ključa stavke može biti wr546gg predstavlja Customer_ID, dok njegova vrijednost ključa sortiranja može biti 24536433 predstavlja broj naloga.

Rezultat može biti sljedeći:

Gornji rezultat vraća praznične knjige kao jedinu stavku koja ima vrijednost particionog ključa wr546gg i vrijednost ključa sortiranja 24536433. Također vam donosi sve ostale dodatne atribute povezane sa stavkom. Na našoj ilustraciji vraća broj fakture i plaćeni iznos.

Naime, naredba upita vratit će prazan popis ako ne postoji stavka koja odgovara navedenim vrijednostima primarnog ključa.

dohvatiti Sve stavke iz DynamoDB tablice koje odgovaraju određenim vrijednostima atributa

Upotrijebite izraz filtra za dohvaćanje svih stavki koje imaju sličnu vrijednost atributa u određenoj DynamoDB tablici.

Naredba za ovu operaciju upita je kao što je prikazano u nastavku.

aws dynamodb upit \

--table-name MyTableName \

--filter-izraz 'OtherAttribute1 = :val' \

--vrijednosti-atributa-izraza '{':val':{'S':'value1'}}'

Na primjer, možemo upotrijebiti gornju naredbu upita za dohvaćanje pjesama s više pjesama koje traju više od 5 minuta u našoj glazbenoj tablici. Da bismo to postigli, postavit ćemo vrijednost OtherAttribute1 na 5,00, a MyTableName na Music.

Rezultat može biti kao što je prikazano u nastavku:

Potrebno je skratiti popis radi sažetosti. Ali iz rezultata, naša naredba upita dohvatila je 11 stavki s filterexpression vrijednošću 5,00 iz naše tablice DynamoDB Music.

Dohvaćanje svih stavki s određenim rasponom vrijednosti atributa

Donja naredba je korisna pri dohvaćanju stavki unutar određene tablice:

aws dynamodb upit \

--table-name \

--izraz-ključnog-uvjeta 'atribut_name IZMEĐU :val1 I :val2' \

--vrijednosti-atributa-izraza '{':val1':{'N':''},':val2':{'N':''}}'

Naravno, morat ćete zamijeniti sve atribute svojim prilagođenim vjerodajnicama kao što biste trebali s bilo kojom drugom naredbenom retkom. Na primjer, koristit ćemo našu tablicu zaposlenika s ključnim atributom raspona nazvanim 'dob'. Nastojat ćemo pronaći poslodavce u dobi od 30 do 42 godine.

Naš novi naredbeni redak bit će sljedeći:

aws dynamodb upit \

--table-name Korisnici \

--izraz-ključnog-uvjeta 'dob IZMEĐU :val1 I :val2' \

--vrijednosti-atributa-izraza '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Pokretanje gornjeg uslužnog programa donijet će odgovor sličan onome na donjoj slici;

Gornja ilustracija pokazuje da je upit vratio 6 stavki, pokazujući vrijednost atributa za svaki upit. ScannedCount je broj skeniranih stavki u tablici, dok je CapacityUnits količina jedinica utrošenih tijekom operacije.

Zaključak

Budući da je DynamoDB NoSQL baza podataka, njegova operacija upita ne ponaša se kao ona vaše obične AQL baze podataka. Ali kada to učinite, saznat ćete da je operacija prilično moćna i da će vašu interakciju s bazom podataka učiniti vrlo jednostavnom.