Eksempler på DynamoDB-søk

Eksempler Pa Dynamodb Sok



En database er en samling av data – DynamoDB er intet unntak. Databaser inneholder massevis av data som kan være vanskelig å hente uten en forhåndsdefinert mekanisme. Det er her spørringskommandoen spiller en viktig rolle.

Som ethvert databasebehandlingssystem tilbyr DynamoDB ulike spørringsmetoder som du kan bruke til å samhandle med systemet for å få tilgang til og manipulere dataene dine. Spørring i DynamoDB er et veldig kraftig verktøy som lar deg hente et element eller en gruppe elementer relatert til spørringskommandoen.

Denne artikkelen skisserer hovedeksemplene på DynamoDB Query Operations.







Eksempler på vanlige DynamoDB-spørringer

Standardoppførselen for spørringsoperasjonen i DynamoDB er å returnere alle elementer som er knyttet til spørringselementene. Interessant nok er spørringskommandoen i DynamoDB brukbar med tabeller eller sekundære indekser.



Uansett tilfelle, sørg alltid for at du spesifiserer likhetsbetingelsen for partisjonsnøkkelens verdi. Igjen, du må kanskje angi en annen betingelse for sorteringsnøkkelen i tilfelle du bruker en i kommandoen.



Andre parametere du vil møte når du spør etter DynamoDB inkluderer også KeyConditionExpression og FilterExpression. KeyConditionExpression spesifiserer nøkkelverdiene du har tenkt å spørre etter. På den annen side fjerner FilterExpression elementer fra søkeresultatene før du får svar. Du vil bruke ExpressionAttributeValues ​​som plassholdere for uttrykksparameterne som er nevnt.





Eksempler på DynamoDB-søk inkluderer:

Finne et enkelt element fra en tabell basert på primærnøkler

Du kan bruke Query-verktøyet i DynmoDB for å finne et enkelt element ved å stole på en kombinasjon av elementets partisjonsnøkkel og sorteringsnøkkelverdier. Syntaksen for en slik operasjon er som følger:



aws dynamodb spørring \

--tabellnavn MyTableName \

--nøkkel-betingelse-uttrykk 'PartitionKey = :pk OG SortKey = :sk' \

--uttrykk-attributt-verdier '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Spørringsverktøyet ovenfor tar sikte på å hente et element med en partisjonsnøkkelverdi a1234b og en sorteringsnøkkelverdi odef456b fra tabellen MyTableName. For eksempel kan vi bruke verktøyet ovenfor for å finne en vare i vår 'Bestillinger'-tabell. Elementets partisjonsnøkkelverdi kan være wr546gg som representerer Customer_ID, mens sorteringsnøkkelverdien kan være 24536433 som representerer ordrenummeret.

Resultatet kan bli som følger:

Resultatet ovenfor bringer tilbake Holiday Books som det eneste elementet som har en partisjonsnøkkelverdi på wr546gg og en sorteringsnøkkelverdi på 24536433. Det gir deg også alle de andre tilleggsattributtene som er knyttet til elementet. I illustrasjonen vår bringer den tilbake fakturanummeret og beløpet som er betalt.

Spesielt vil spørringskommandoen bringe tilbake en tom liste hvis det ikke er noe element som samsvarer med de angitte primærnøkkelverdiene.

Hente Alle elementer fra en DynamoDB-tabell som samsvarer med spesifikke attributtverdier

Bruk et filteruttrykk for å hente alle elementer som har en lignende attributtverdi i en bestemt DynamoDB-tabell.

Kommandoen for denne spørringsoperasjonen er som vist nedenfor.

aws dynamodb spørring \

--tabellnavn MyTableName \

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

--uttrykk-attributt-verdier '{':val':{'S':'value1'}}'

For eksempel kan vi bruke spørringskommandoen ovenfor for å hente sanger med mer som går i over 5 minutter i musikktabellen vår. For å oppnå dette vil vi sette vår OtherAttribute1-verdi til 5,00 og MyTableName til Music.

Resultatet kan bli som vist nedenfor:

Det er nødvendig å avkorte listen for korthet. Men fra resultatene hentet spørringskommandoen vår 11 elementer med en filteruttrykksverdi på 5,00 fra vår DynamoDB Music-tabell.

Henter alle elementer med et bestemt utvalg av attributtverdier

Kommandoen nedenfor er nyttig når du henter elementer i en bestemt tabell:

aws dynamodb spørring \

--tabellnavn \

--nøkkel-betingelse-uttrykk 'attributt_name MELLOM :val1 OG :val2' \

--uttrykk-attributt-verdier '{':val1':{'N':''},':val2':{'N':''}}'

Selvfølgelig må du erstatte alle attributtene med din tilpassede legitimasjon som du burde med en hvilken som helst annen kommandolinje. For eksempel vil vi bruke vår Employee-tabell med et områdenøkkelattributt døpt «alder». Vi vil ha som mål å hente arbeidsgivere mellom 30 og 42 år.

Vår nye kommandolinje vil være som følger:

aws dynamodb spørring \

--tabellnavn Brukere \

--nøkkel-betingelse-uttrykk 'alder MELLOM :val1 OG :val2' \

--uttrykk-attributt-verdier '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Å kjøre verktøyet ovenfor vil gi et svar som ligner på det i figuren nedenfor;

Illustrasjonen ovenfor viser at spørringen brakte tilbake 6 elementer, som indikerer attributtverdien for hver spørring. ScannedCount er antallet elementer som er skannet i tabellen, mens Capacity Units er mengden enheter som forbrukes under operasjonen.

Konklusjon

Siden DynamoDB er en NoSQL-database, oppfører ikke spørringsoperasjonen seg som den til din vanlige AQL-database. Men når du først gjør det, vil du finne ut at operasjonen er ganske kraftig og vil gjøre interaksjonen din med databasen rask.