DynamoDB-strømmer er en funksjon i AWS DynamoDB-databasetjenesten som gir en tidsordret sekvens av dataendringer som gjøres til en tabell. Du kan aktivere AWS DynamoDB -strømmer på et bord for automatisk å fange opp nye eller gamle data. Selvfølgelig kan du også stille den til å fange begge deler.
Spesielt kan strømmene utløse sanntidsdatapipelinjer, slik at applikasjonene kan reagere på endringer i dataene i løpet av sekunder. Dessuten kan strømmer bidra til å bygge applikasjonene som reagerer på endringer i dataene ved å utløse de tilsvarende handlingene som å oppdatere andre data i tabellen eller utløse de eksterne tjenestene.
Data er tilgjengelig i strømmen i 24 timer som standard. Imidlertid kan du tilpasse dataoppbevaringstiden for å dekke dine behov.
Saker om vanlig bruk for dynamoDB -strømmer
Noen av tilfeller av bruk for dynamoDB inkluderer følgende:
Trinn-for-trinns guide for hvordan du aktiverer og bruker DynamoDB-strømmer
Det er forskjellige metoder for å aktivere DynamoDB -strømmen på bordene dine. De vanligste metodene inkluderer følgende:
Aktiver DynamoDB -strømmer ved hjelp av CreateTable API -samtalen
Spesielt kan du aktivere DynamoDB -strømmene ved å bruke CreateTable API -samtalen ved å bruke følgende kommando:
aws dynamodb create-table \
--Bordnavn \
--attributtdefinisjoner \
--Key-Schema \
--levert gjennomstrømning \
--Stream-spesifikasjon streamenabled = true, streamviewtype =
Aktiver DynamoDB -strømmer med UpdateTable API -samtalen
Følgende syntaks illustrerer hvordan du kan aktivere strømningene ved å bruke UpdateTable API -samtalen:
AWS DynamoDB Update-Table \
--Bordnavn \
--Stream-spesifikasjon streamenabled = true, streamviewtype =
Når du lykkes med å aktivere strømmen din, fortsett å bruke den beskrivelsen av API -samtalen for å hente strømmenes ARN og andre detaljer:
aws dynamodb beskriver-stream \
--Bordnavn
Du kan også bruke GetSharditerator API -samtalen for å få en Shard Iterator. En Shard Iterator leser dataene fra strømmen din. Syntaksen er som følger:
aws dynamodb get-shard-iterator \
--Bordnavn\
--Shard-id\
--Shard-Eterator-type
Til slutt, bruk Shard Iterator sammen med GetRecords API -samtalen for å lese alle postene i strømmen din. Følgende syntaks vil hjelpe:
aws dynamodb get-records \
--Shard-iterator
Spesielt er den forrige syntaksen for AWS CLI, men lignende kommandoer er tilgjengelige for AWS SDK -er på forskjellige programmeringsspråk.
Bruke dynamoDB -strømmer med lambda -funksjonen
Når du har aktivert DynamoDB -strømmene i databasen din, kan du konfigurere den til å bruke lambda -funksjonen. Følgende trinn skal hjelpe:
Trinn 1: Begynn med å lage en lambda -funksjon som strømopptakene som blir fanget av DynamoDB -strømmer, vil utløse. Lambda -funksjonen din skal inneholde koden for å behandle strømopptakene og utføre eventuelle handlinger du kan be om.
Steg 2: Lag en IAM -rolle som gir Lambda -funksjonen de aktuelle tillatelsene for å få tilgang til strømopptakene. Fest denne IAM -rollen til lambda -funksjonen.
Trinn 3: Konfigurer DynamoDB -strømmen for å utløse Lambda -funksjonen når nye strømopptak er tilgjengelige.
Når disse trinnene er fullført, vil DynamoDB -strømmer begynne å fange opp datamodifiseringshendelsene for den spesifiserte DynamoDB -tabellen og utløse Lambda -funksjonen for å behandle strømopptakene. Lambda -funksjonen kan deretter utføre alle handlinger du angir i koden.
Konklusjon
DynamoDB -strømmer skiller seg ut som en fullt administrert tjeneste med gode fordeler. Det lar deg fange og behandle datamodifiseringshendelsene i sanntid. Selvfølgelig kan du bruke dataene til å bygge applikasjonene som reagerer på endringer i dataene når de oppstår i stedet for å måtte avstemte for endringer med jevne mellomrom.