Eksempler på DynamoDB-forespørgsler

Eksempler Pa Dynamodb Foresporgsler



En database er en samling af data – DynamoDB er ingen undtagelse. Databaser indeholder masser af data, som kan være svære at hente uden en foruddefineret mekanisme. Det er her, forespørgselskommandoen spiller en vigtig rolle.

Som ethvert databasestyringssystem tilbyder DynamoDB forskellige forespørgselsmetoder, hvorigennem du kan interagere med systemet for at få adgang til og manipulere dine data. Forespørgsel i DynamoDB er et meget kraftfuldt værktøj, der giver dig mulighed for at hente et element eller en gruppe af elementer relateret til forespørgselskommandoen.

Denne artikel skitserer de vigtigste eksempler på DynamoDB Query Operations.







Eksempler på almindelige DynamoDB-forespørgsler

Standardadfærden for forespørgselsoperationen i DynamoDB er at returnere alle elementer, der er knyttet til forespørgselselementerne. Interessant nok er forespørgselskommandoen i DynamoDB brugbar med tabeller eller sekundære indekser.



Uanset hvad, skal du altid sikre dig, at du angiver lighedsbetingelsen for din partitionsnøgles værdi. Igen skal du muligvis angive en anden betingelse for sorteringsnøglen, hvis du bruger en i kommandoen.



Andre parametre, som du vil støde på, når du forespørger på DynamoDB, inkluderer også KeyConditionExpression og FilterExpression. KeyConditionExpression angiver de nøgleværdier, du har til hensigt at forespørge på. På den anden side fjerner FilterExpression elementer fra forespørgselsresultaterne, før du får et svar. Du vil bruge ExpressionAttributeValues ​​som pladsholdere for de nævnte udtryksparametre.





Eksempler på DynamoDB-forespørgsler inkluderer:

At finde et enkelt element fra en tabel baseret på primære nøgler

Du kan bruge Query-værktøjet i DynmoDB til at finde et enkelt element ved at stole på en kombination af elementets partitionsnøgle og sorteringsnøgleværdier. Syntaksen for en sådan operation er som følger:



aws dynamodb forespørgsel \

--tabelnavn MitTabelnavn \

--nøgle-betingelse-udtryk 'PartitionKey = :pk OG SortKey = :sk' \

--udtryk-attribut-værdier '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Ovenstående forespørgselsværktøj har til formål at hente et element med en partitionsnøgleværdi a1234b og en sorteringsnøgleværdi odef456b fra MyTableName-tabellen. For eksempel kan vi bruge ovenstående værktøj til at finde en vare i vores 'Ordre'-tabel. Varens partitionsnøgleværdi kan være wr546gg repræsenterer Customer_ID, mens dets sorteringsnøgleværdi kan være 24536433 repræsenterer ordrenummeret.

Resultatet kan blive som følger:

Ovenstående resultat bringer Holiday Books tilbage som det eneste element, der har en partitionsnøgleværdi på wr546gg og en sorteringsnøgleværdi på 24536433. Det giver dig også alle de andre yderligere attributter, der er knyttet til elementet. I vores illustration bringer det fakturanummeret og det betalte beløb tilbage.

Navnlig vil forespørgselskommandoen bringe en tom liste tilbage, hvis der ikke er noget element, der matcher de angivne primærnøgleværdier.

Hent Alle elementer fra en DynamoDB-tabel, der matcher specifikke attributværdier

Brug et filterudtryk til at hente alle elementer, der har en lignende attributværdi i en specifik DynamoDB-tabel.

Kommandoen til denne forespørgselsoperation er som vist nedenfor.

aws dynamodb forespørgsel \

--tabelnavn MitTabelnavn \

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

--udtryk-attribut-værdier '{':val':{'S':'value1'}}'

For eksempel kan vi bruge ovenstående forespørgselskommando til at hente sange med mere, der går i over 5 minutter i vores musiktabel. For at opnå dette sætter vi vores OtherAttribute1-værdi til 5,00 og MyTableName til Music.

Resultatet kan blive som vist nedenfor:

Det er nødvendigt at afkorte listen for kortheds skyld. Men fra resultaterne hentede vores forespørgselskommando 11 elementer med en filterudtryksværdi på 5,00 fra vores DynamoDB Music-tabel.

Hentning af alle elementer med et bestemt område af attributværdier

Nedenstående kommando er praktisk, når du henter elementer i en bestemt tabel:

aws dynamodb forespørgsel \

--tabelnavn \

--nøgle-betingelse-udtryk 'attributnavn MELLEM :val1 OG :val2' \

--udtryk-attribut-værdier '{':val1':{'N':''},':val2':{'N':''}}'

Selvfølgelig skal du erstatte alle attributterne med dine tilpassede legitimationsoplysninger, som du burde med enhver anden kommandolinje. For eksempel vil vi bruge vores medarbejdertabel med en rækkenøgleattribut døbt 'alder'. Vi vil tilstræbe at hente arbejdsgivere mellem 30 og 42 år.

Vores nye kommandolinje vil være som følger:

aws dynamodb forespørgsel \

--tabelnavn Brugere \

--nøgle-betingelse-udtryk 'alder MELLEM :val1 OG :val2' \

--udtryk-attribut-værdier '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Kørsel af ovenstående værktøj vil give et svar svarende til det i figuren nedenfor;

Illustrationen ovenfor viser, at forespørgslen bragte 6 elementer tilbage, hvilket angiver attributværdien for hver forespørgsel. ScannedCount er antallet af genstande, der er scannet i tabellen, mens CapacityUnits er mængden af ​​enheder, der forbruges under operationen.

Konklusion

Da DynamoDB er en NoSQL-database, opfører dens forespørgselsoperation sig ikke som din almindelige AQL-database. Men når du først gør det, vil du finde ud af, at operationen er ret kraftfuld og vil gøre din interaktion med databasen forbløffende.