Serverlös utveckling med AWS Lambda · Lektion

Realtidsbearbetning med Kinesis

Använd Amazon Kinesis Data Streams och Kinesis Firehose för att samla in, bearbeta och leverera stora dataströmmar i realtid med Lambda-funktioner.

Lektion 3 av 411 steg

Realtidsbearbetning med Kinesis är en gratis lektion i Serverlös utveckling med AWS Lambda på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Serverlös utveckling med AWS Lambda, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Serverlös utveckling med AWS Lambda innehåller totalt 4 lektioner.

Varför realtidsdata är viktigt

I dagens snabbföränderliga värld behöver många applikationer reagera på data direkt. Detta kallas realtidsdatabearbetning.

  • Omedelbara insikter: Analysera data när den anländer.
  • Snabba svar: Utlös åtgärder utan fördröjning.
  • Förbättrad användarupplevelse: Anpassa innehåll direkt.

Tänk på bedrägeribekämpning, instrumentpaneler i realtid eller övervakning av IoT-enheter.

Introduktion till Amazon Kinesis

Amazon Kinesis är en kraftfull uppsättning tjänster som är utformade för att samla in, bearbeta och analysera strömmande data i realtid. Den hjälper er att hantera stora datamängder effektivt.

Viktiga Kinesis-tjänster är:

  • Kinesis Data Streams (KDS): För anpassade applikationer som behöver detaljerad kontroll.
  • Kinesis Firehose: För enkel leverans till datalager som S3 eller Redshift.

Kinesis Data Streams (KDS)

Kinesis Data Streams (KDS) fungerar som en kontinuerlig kanal för data med hög genomströmning. Den samlar in data från olika källor och gör den tillgänglig för bearbetning av olika applikationer.

KDS organiserar data i shards. En shard är den grundläggande enheten för genomströmning. Dataproducenter skriver till shards och datakonsumenter läser från dem.

Producera data till KDS

Applikationer skickar data till KDS med åtgärder som PutRecord eller PutRecords. Varje post innehåller en partitioneringsnyckel, som KDS använder för att gruppera data och dirigera den till en specifik shard.

En bra partitioneringsnyckel ger en jämn fördelning av data över shards, förhindrar överbelastade områden och maximerar genomströmningen.

Lambda som KDS-konsument

AWS Lambda-funktioner är utmärkta konsumenter för Kinesis Data Streams. Ni kan konfigurera en Lambda-händelsekällsmappning som automatiskt anropar funktionen när nya dataposter finns tillgängliga i en KDS-ström.

Lambda avfrågar strömmen, läser poster i batcher och skickar dem till funktionen för bearbetning. Det gör det mycket effektivt att bygga realtidsbearbetare.

Bearbeta Kinesis-poster

Här är en enkel Python-Lambda-funktion som bearbetar poster från en Kinesis Data Stream. Den går igenom posterna i händelsen och skriver ut deras data.

Försök köra detta exempel:

import base64
import json

def lambda_handler(event, context):
    for record in event['Records']:
        # Kinesis data is base64 encoded
        payload = base64.b64decode(record['kinesis']['data']).decode('utf-8')
        print(f"Processed record: {payload}")
        
    return {'statusCode': 200}

Kinesis Firehose för leverans

Kinesis Firehose är en fullständigt hanterad tjänst för att leverera strömmande data i realtid till destinationer som Amazon S3, Amazon Redshift, Amazon OpenSearch Service eller HTTP-slutpunkter.

Till skillnad från KDS kräver Firehose nästan ingen administration. Ni skapar helt enkelt en leveransström, anger källa och destination, så hanterar Firehose all skalning, buffring och leverans.

Firehose-destinationer

Firehose är utformad för förenklad dataleverans. Den batchar, komprimerar och krypterar automatiskt data innan den skickas till den destination ni väljer.

Vanliga destinationer är:

  • Amazon S3: För långsiktig lagring och datasjöar.
  • Amazon Redshift: För datalager och analys.
  • Amazon OpenSearch Service: För loggning och sökning.
  • HTTP-slutpunkter: För anpassade integrationer.

Transformera data med Firehose och Lambda

Kinesis Firehose kan integreras med Lambda för att transformera inkommande data innan den levereras till sin slutdestination. Det är mycket användbart för att rensa, berika eller formatera om data direkt.

Ni konfigurerar en Lambda-funktion i Firehose-leveransströmmen. Firehose anropar den för varje batch med poster och förväntar sig transformerade poster tillbaka.

Jämförelse av Kinesis-tjänster

Vilka påståenden beskriver korrekt skillnaderna mellan eller användningsområdena för Kinesis Data Streams (KDS) och Kinesis Firehose?

Sammanfattning och nästa steg

Ni har lärt er om Amazon Kinesis, en viktig tjänst för realtidsdatabearbetning.

  • Kinesis Data Streams (KDS): Erbjuder flexibel, shard-baserad strömning för anpassade applikationer och konsumeras ofta av Lambda.
  • Kinesis Firehose: Tillhandahåller en hanterad lösning för att leverera strömmande data till olika destinationer, med valfri Lambda-transformering.

Dessa tjänster, tillsammans med Lambda, möjliggör kraftfulla händelsedrivna arkitekturer för hantering av stora dataströmmar i realtid.

Gratis att börja

Lär dig Serverlös utveckling med AWS Lambda med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Realtidsbearbetning med Kinesis” gratis?

Ja – hela texten till ”Realtidsbearbetning med Kinesis” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Serverlös utveckling med AWS Lambda, kan Ni uppgradera till CoddyKit PRO. Kursen i Serverlös utveckling med AWS Lambda innehåller totalt 4 lektioner.

Vad lär jag mig i ”Realtidsbearbetning med Kinesis”?

Använd Amazon Kinesis Data Streams och Kinesis Firehose för att samla in, bearbeta och leverera stora dataströmmar i realtid med Lambda-funktioner. Ni övar på Serverlös utveckling med AWS Lambda med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Serverlös utveckling med AWS Lambda?

Du behöver inga förkunskaper. Utbildningen i Serverlös utveckling med AWS Lambda på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Realtidsbearbetning med Kinesis”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Serverlös utveckling med AWS Lambda-lektionen?

Ja. Varje Serverlös utveckling med AWS Lambda-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Bygga händelsestyrda mikrotjänster
  2. Integrera med Amazon EventBridge
  3. Realtidsbearbetning med Kinesis
  4. Saga-mönstret för distribuerade transaktioner
← Tillbaka till Serverlös utveckling med AWS Lambda