DynamoDB-kyselyesimerkkejä

Dynamodb Kyselyesimerkkeja

Tietokanta on kokoelma tietoja – DynamoDB ei ole poikkeus. Tietokannat sisältävät paljon tietoa, jota voi olla vaikea hakea ilman ennalta määritettyä mekanismia. Tässä kyselykomennolla on tärkeä rooli.

Kuten mikä tahansa tietokannan hallintajärjestelmä, myös DynamoDB tarjoaa erilaisia ​​kyselymenetelmiä, joiden avulla voit olla vuorovaikutuksessa järjestelmän kanssa päästäksesi käsiksi ja manipuloimaan tietojasi. Kysely DynamoDB:ssä on erittäin tehokas työkalu, jonka avulla voit hakea kyselykomentoon liittyvän kohteen tai kohderyhmän.

Tässä artikkelissa kuvataan tärkeimmät esimerkit DynamoDB-kyselytoiminnoista.







Yleisiä DynamoDB-kyselyesimerkkejä

DynamoDB:n kyselytoiminnon oletuskäyttäytyminen on palauttaa kaikki kyselykohteisiin liittyvät kohteet. Mielenkiintoista on, että DynamoDB:n kyselykomentoa voidaan käyttää taulukoiden tai toissijaisten indeksien kanssa.



Oli tapaus mikä tahansa, varmista aina, että määrität osioavaimesi arvolle tasa-arvon. Jälleen saatat joutua antamaan lajitteluavaimelle toisen ehdon, jos käytät sellaista komennossa.



Muita parametreja, joita kohtaat tehdessäsi DynamoDB:tä, ovat myös KeyConditionExpression ja FilterExpression. KeyConditionExpression määrittää avainarvot, joita aiot kysyä. Toisaalta FilterExpression poistaa kohteita kyselyn tuloksista ennen kuin saat vastauksen. Käytät ExpressionAttributeValuesia mainittujen lausekeparametrien paikkamerkkinä.





DynamoDB-kyselyesimerkkejä ovat:

Yksittäisen kohteen löytäminen taulukosta ensisijaisten avainten perusteella

Voit käyttää DynmoDB:n Kysely-apuohjelmaa löytääksesi yksittäisen kohteen luottamalla kohteen osioavaimen ja lajitteluavaimen arvojen yhdistelmään. Tällaisen toiminnon syntaksi on seuraava:



aws dynamodb kysely \

--taulukon nimi Oma TaulukonNimi \

--avain-ehto-lauseke 'PartitionKey = :pk AND SortKey = :sk' \

--lauseke-attribuutti-arvot '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Yllä oleva kyselyapuohjelma pyrkii hakemaan kohteen, jonka osioavaimen arvo on a1234b ja lajitteluavaimen arvo odef456b, MyTableName-taulukosta. Voimme esimerkiksi käyttää yllä olevaa apuohjelmaa löytääksemme kohteen 'Tilaukset'-taulukostamme. Kohteen osioavaimen arvo voi olla wr546gg edustaa asiakastunnusta, kun taas sen lajitteluavaimen arvo voi olla 24536433 joka edustaa tilausnumeroa.

Tulos voi olla seuraava:

Yllä oleva tulos palauttaa Holiday Booksin ainoana kohteena, jonka osioavaimen arvo on wr546gg ja lajitteluavaimen arvo 24536433. Se tuo sinulle myös kaikki muut kohteeseen liittyvät lisäattribuutit. Kuvassamme se palauttaa laskun numeron ja maksetun summan.

Erityisesti kyselykomento palauttaa tyhjän luettelon, jos mikään kohde ei vastaa määritettyjä ensisijaisen avaimen arvoja.

Hakea Kaikki DynamoDB-taulukon kohteet, jotka vastaavat tiettyjä attribuuttiarvoja

Käytä suodatinlauseketta hakeaksesi kaikki kohteet, joilla on samanlainen attribuuttiarvo tietyssä DynamoDB-taulukossa.

Tämän kyselytoiminnon komento on alla olevan kuvan mukainen.

aws dynamodb kysely \

--taulukon nimi Oma TaulukonNimi \

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

--lauseke-attribuutti-arvot '{':val':{'S':'arvo1'}}'

Voimme esimerkiksi käyttää yllä olevaa kyselykomentoa hakeaksemme kappaleita, jotka kestävät yli 5 minuuttia musiikkitaulukossamme. Tämän saavuttamiseksi asetamme OtherAttribute1-arvoksi 5,00 ja MyTableName-arvoksi Music.

Tulos voi olla alla olevan kuvan mukainen:

Luetteloa on lyhennettävä lyhyyden vuoksi. Mutta tuloksista kyselykomentomme haki DynamoDB Music -taulukostamme 11 kohdetta, joiden suodatinlausekkeen arvo oli 5,00.

Haetaan kaikki kohteet, joilla on tietty ominaisuusarvot

Alla oleva komento on kätevä noudettaessa tietyn taulukon kohteita:

aws dynamodb kysely \

--taulukon nimi \

--avain-ehto-lauseke 'attribuutin_nimi BETWEEN :val1 AND :val2' \

--lauseke-attribuutti-arvot '{':arvo1':{'N':' '},':arvo2':{'N':' '}}'

Tietenkin sinun on korvattava kaikki määritteet mukautetuilla tunnistetiedoillasi, kuten sinun pitäisi millä tahansa muulla komentorivillä. Käytämme esimerkiksi Työntekijä-taulukkoamme, jossa on 'age'-kastettu alueavainattribuutti. Pyrimme hakemaan 30-42-vuotiaat työnantajat.

Uusi komentorivimme tulee olemaan seuraava:

aws dynamodb kysely \

--taulukon nimi Käyttäjät \

--avain-ehto-lauseke 'ikä BETWEEN :val1 AND :val2' \

--lauseke-attribuutti-arvot '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Yllä olevan apuohjelman suorittaminen antaa samanlaisen vastauksen kuin alla olevassa kuvassa;

Yllä oleva kuva osoittaa, että kysely palautti 6 kohdetta, jotka osoittavat kunkin kyselyn attribuutin arvon. ScannedCount on taulukossa skannattujen kohteiden määrä, kun taas CapacityUnits on toiminnon aikana kulutettujen yksiköiden määrä.

Johtopäätös

Koska DynamoDB on NoSQL-tietokanta, sen kyselytoiminto ei toimi kuten tavallisen AQL-tietokantasi. Mutta kun teet niin, huomaat, että toiminto on melko tehokas ja tekee vuorovaikutuksestasi tietokannan kanssa vaivatonta.