DynamoDB užklausų pavyzdžiai

Dynamodb Uzklausu Pavyzdziai



Duomenų bazė yra duomenų rinkinys – „DynamoDB“ nėra išimtis. Duomenų bazėse yra daug duomenų, kuriuos gali būti sunku gauti be iš anksto nustatyto mechanizmo. Čia užklausos komanda atlieka svarbų vaidmenį.

Kaip ir bet kuri duomenų bazių valdymo sistema, „DynamoDB“ siūlo įvairius užklausų metodus, kuriais galite sąveikauti su sistema, kad galėtumėte pasiekti ir valdyti savo duomenis. „DynamoDB“ užklausa yra labai galingas įrankis, leidžiantis nuskaityti elementą arba elementų grupę, susijusią su užklausos komanda.

Šiame straipsnyje pateikiami pagrindiniai DynamoDB užklausų operacijų pavyzdžiai.







Įprasti DynamoDB užklausų pavyzdžiai

Numatytasis užklausos operacijos elgesys „DynamoDB“ yra grąžinti visus elementus, susietus su užklausos elementais. Įdomu tai, kad „DynamoDB“ užklausos komanda gali būti naudojama su lentelėmis arba antriniais indeksais.



Kad ir kaip būtų, visada įsitikinkite, kad nurodėte skaidinio rakto vertės lygybės sąlygą. Vėlgi, jums gali tekti pateikti kitą rūšiavimo rakto sąlygą, jei tokią komandoje naudojate.



Kiti parametrai, su kuriais susidursite pateikdami užklausą DynamoDB, taip pat apima KeyConditionExpression ir FilterExpression. KeyConditionExpression nurodo raktų reikšmes, kurių ketinate pateikti. Kita vertus, „FilterExpression“ pašalina elementus iš užklausos rezultatų, kol gausite atsakymą. „ExpressionAttributeValues“ naudosite kaip minėtų išraiškos parametrų vietos rezervavimo ženklą.





„DynamoDB“ užklausų pavyzdžiai:

Vieno elemento radimas iš lentelės pagal pirminius raktus

Galite naudoti „DynmoDB“ užklausos įrankį, kad rastumėte vieną elementą, pasikliaudami elemento skaidinio rakto ir rūšiavimo rakto reikšmių deriniu. Tokios operacijos sintaksė yra tokia:



aws dynamodb užklausa \

--lentelės pavadinimas Mano lentelės pavadinimas \

--rakto-sąlygos išraiška „PartitionKey = :pk AND SortKey = :sk“ \

--išraiška-atributas-reikšmės '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Aukščiau pateikta užklausos programa skirta iš lentelės „MyTableName“ nuskaityti elementą su skaidinio rakto reikšme a1234b ir rūšiavimo rakto reikšme odef456b. Pavyzdžiui, galime naudoti aukščiau pateiktą įrankį norėdami rasti prekę lentelėje „Užsakymai“. Elemento skaidinio rakto reikšmė gali būti wr546gg atstovaujantis Customer_ID, o jo rūšiavimo rakto reikšmė gali būti 24536433 atstovaujantis užsakymo numerį.

Rezultatas gali būti toks:

Aukščiau pateiktas rezultatas grąžina „Holiday Books“ kaip vienintelį elementą, kurio skaidinio rakto reikšmė yra wr546gg, o rūšiavimo rakto reikšmė – 24536433. Taip pat pateikiami visi kiti papildomi su elementu susiję atributai. Mūsų iliustracijoje jis grąžina sąskaitos faktūros numerį ir sumokėtą sumą.

Pažymėtina, kad užklausos komanda grąžins tuščią sąrašą, jei nėra elemento, atitinkančio nurodytas pirminio rakto reikšmes.

Atgauti Visi elementai iš DynamoDB lentelės, atitinkantys konkrečias atributų reikšmes

Naudokite filtro išraišką, kad gautumėte visus elementus, turinčius panašią atributo reikšmę konkrečioje DynamoDB lentelėje.

Šios užklausos operacijos komanda yra tokia, kaip parodyta toliau.

aws dynamodb užklausa \

--lentelės pavadinimas Mano lentelės pavadinimas \

--filtro išraiška „OtherAttribute1 = :val“ \

--išraiška-atributas-reikšmės '{':val':{'S':'value1'}}'

Pavyzdžiui, galime naudoti aukščiau pateiktą užklausos komandą, norėdami iš mūsų muzikos lentelės gauti daugiau nei 5 minutes trunkančias dainas. Norėdami tai pasiekti, nustatysime „OtherAttribute1“ vertę į 5,00, o „MyTableName“ – į Muziką.

Rezultatas gali būti toks, kaip parodyta žemiau:

Siekiant trumpumo, sąrašą būtina sutrumpinti. Tačiau iš rezultatų mūsų užklausos komanda iš mūsų „DynamoDB Music“ lentelės gavo 11 elementų, kurių filtro išraiškos vertė yra 5,00.

Visų elementų, turinčių tam tikrą atributų verčių diapazoną, gavimas

Toliau pateikta komanda praverčia, kai gaunami tam tikros lentelės elementai:

aws dynamodb užklausa \

--lentelės pavadinimas \

--rakto-sąlygos išraiška 'atributo_pavadinimas BETWEEN :val1 AND :val2' \

--išraiška-atributas-reikšmės '{':val1':{'N':''},':val2':{'N':''}}'

Žinoma, visus atributus turėsite pakeisti pritaikytais kredencialais, kaip ir bet kuria kita komandų eilute. Pavyzdžiui, mes naudosime savo lentelę Darbuotojai su diapazono rakto atributu, pakrikštytu „amžius“. Sieksime atgauti darbdavius ​​nuo 30 iki 42 metų.

Mūsų nauja komandų eilutė bus tokia:

aws dynamodb užklausa \

--lentelės pavadinimas Vartotojai \

--rakto-sąlygos išraiška 'amžius BETWEEN :val1 AND :val2' \

--išraiška-atributas-reikšmės '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Paleidus aukščiau pateiktą programą, atsakymas bus panašus į pateiktą toliau pateiktame paveikslėlyje;

Aukščiau pateiktoje iliustracijoje parodyta, kad užklausa grąžino 6 elementus, nurodančius kiekvienos užklausos atributo reikšmę. Nuskaitytų skaičius yra lentelėje nuskaitytų elementų skaičius, o talpos vienetai yra operacijos metu sunaudotų vienetų kiekis.

Išvada

Kadangi „DynamoDB“ yra NoSQL duomenų bazė, jos užklausos operacija nesielgia taip, kaip įprastos AQL duomenų bazės. Bet kai tai padarysite, sužinosite, kad operacija yra gana galinga ir jūsų sąveika su duomenų baze taps greita.