DynamoDB vaicājumu piemēri

Dynamodb Vaicajumu Piemeri



Datu bāze ir datu kopums — DynamoDB nav izņēmums. Datubāzēs ir daudz datu, kurus var būt grūti izgūt bez iepriekš definēta mehānisma. Šeit vaicājuma komandai ir svarīga loma.

Tāpat kā jebkura datu bāzes pārvaldības sistēma, DynamoDB piedāvā dažādas vaicājumu metodes, ar kuru palīdzību jūs varat mijiedarboties ar sistēmu, lai piekļūtu saviem datiem un ar tiem manipulētu. Vaicāšana DynamoDB ir ļoti spēcīgs rīks, kas ļauj izgūt ar vaicājuma komandu saistītu vienumu vai vienumu grupu.

Šajā rakstā ir izklāstīti galvenie DynamoDB vaicājumu darbību piemēri.







Izplatīti DynamoDB vaicājumu piemēri

DynamoDB vaicājuma darbības noklusējuma darbība ir visu ar vaicājuma vienumiem saistīto vienumu atgriešana. Interesanti, ka DynamoDB vaicājuma komandu var izmantot ar tabulām vai sekundārajiem indeksiem.



Neatkarīgi no gadījuma vienmēr norādiet nodalījuma atslēgas vērtības vienlīdzības nosacījumu. Atkal, jums var būt nepieciešams nodrošināt citu nosacījumu kārtošanas atslēgai, ja to izmantojat komandā.



Citi parametri, ar kuriem jūs saskarsities, vaicājot DynamoDB, ietver arī KeyConditionExpression un FilterExpression. KeyConditionExpression norāda atslēgas vērtības, kuras plānojat vaicāt. No otras puses, FilterExpression noņem vienumus no vaicājuma rezultātiem, pirms saņemat atbildi. Jūs izmantosiet ExpressionAttributeValues ​​kā vietturi minētajiem izteiksmes parametriem.





DynamoDB vaicājumu piemēri ietver:

Atsevišķa vienuma atrašana no tabulas, pamatojoties uz primārajām atslēgām

Varat izmantot DynmoDB utilītu Query, lai atrastu vienu vienumu, paļaujoties uz vienuma nodalījuma atslēgas un kārtošanas atslēgas vērtību kombināciju. Šādas darbības sintakse ir šāda:



aws dynamodb vaicājums \

-- tabulas nosaukums Mana tabulas nosaukums \

--atslēgas nosacījuma izteiksme 'PartitionKey = :pk UN SortKey = :sk' \

--izteiksme-atribūta vērtības '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Iepriekš minētās vaicājuma utilītas mērķis ir izgūt vienumu ar nodalījuma atslēgas vērtību a1234b un kārtošanas atslēgas vērtību odef456b no tabulas MyTableName. Piemēram, mēs varam izmantot iepriekš minēto utilītu, lai atrastu preci mūsu tabulā “Pasūtījumi”. Vienuma nodalījuma atslēgas vērtība var būt wr546gg apzīmē Klienta_ID, savukārt tā kārtošanas atslēgas vērtība var būt 24536433 apzīmē pasūtījuma numuru.

Rezultāts var būt šāds:

Iepriekš minētais rezultāts atgriež Brīvdienu grāmatas kā vienīgo vienumu, kura nodalījuma atslēgas vērtība ir wr546gg un kārtošanas atslēgas vērtība 24536433. Tas parāda arī visus citus papildu atribūtus, kas saistīti ar vienumu. Mūsu ilustrācijā tas parāda rēķina numuru un samaksāto summu.

Proti, vaicājuma komanda parādīs tukšu sarakstu, ja nav neviena vienuma, kas atbilstu norādītajām primārās atslēgas vērtībām.

Atgūt Visi vienumi no DynamoDB tabulas, kas atbilst noteiktām atribūtu vērtībām

Izmantojiet filtra izteiksmi, lai izgūtu visus vienumus, kuriem ir līdzīga atribūta vērtība noteiktā DynamoDB tabulā.

Komanda šai vaicājuma darbībai ir tāda, kā parādīts zemāk.

aws dynamodb vaicājums \

-- tabulas nosaukums Mana tabulas nosaukums \

--filtra izteiksme 'OtherAttribute1 = :val' \

--izteiksme-atribūta vērtības '{':val':{'S':'value1'}}'

Piemēram, mēs varam izmantot iepriekš minēto vaicājuma komandu, lai mūsu mūzikas tabulā izgūtu dziesmas, kuru ilgums pārsniedz 5 minūtes. Lai to panāktu, mēs iestatīsim mūsu OtherAttribute1 vērtību uz 5,00 un MyTableName uz Music.

Rezultāts var būt šāds:

Īsuma labad saraksts ir jāsaīsina. Bet no rezultātiem mūsu vaicājuma komanda no mūsu DynamoDB Music tabulas izguva 11 vienumus ar filtra izteiksmes vērtību 5,00.

Visu vienumu izgūšana ar noteiktu atribūtu vērtību diapazonu

Tālāk norādītā komanda ir noderīga, izgūstot vienumus noteiktā tabulā:

aws dynamodb vaicājums \

-- tabulas nosaukums < tabulas nosaukums> \

--atslēgas nosacījuma izteiksme 'atribūta_nosaukums BETWEEN :val1 UN :val2' \

--izteiksme-atribūta vērtības '{':val1':{'N':''},':val2':{'N':''}}'

Protams, jums būs jāaizstāj visi atribūti ar pielāgotajiem akreditācijas datiem, tāpat kā ar jebkuru citu komandrindu. Piemēram, mēs izmantosim savu tabulu Darbinieks ar diapazona atslēgas atribūtu, kas kristīts kā “vecums”. Mēs centīsimies piesaistīt darba devējus vecumā no 30 līdz 42 gadiem.

Mūsu jaunā komandrinda būs šāda:

aws dynamodb vaicājums \

-- tabulas nosaukums Lietotāji \

--atslēgas nosacījuma izteiksme 'vecums BETWEEN :val1 UN :val2' \

--izteiksme-atribūta vērtības '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Palaižot iepriekš minēto utilītu, tiks sniegta līdzīga atbilde, kas parādīta attēlā zemāk;

Iepriekš redzamajā attēlā redzams, ka vaicājums atgrieza 6 vienumus, norādot katra vaicājuma atribūta vērtību. ScannedCount ir tabulā skenēto vienumu skaits, savukārt CapacityUnits ir darbības laikā patērēto vienību daudzums.

Secinājums

Tā kā DynamoDB ir NoSQL datu bāze, tās vaicājumu darbība nedarbojas kā parastajā AQL datu bāzē. Bet, tiklīdz jūs to izdarīsiet, jūs uzzināsit, ka darbība ir diezgan spēcīga un padarīs jūsu mijiedarbību ar datu bāzi bez maksas.