Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di Lambda con Apache Kafka gestito dal cliente
Lambda supporta Apache Kafka
Puoi utilizzare il servizio Kafka AWS gestito Amazon Managed Streaming for Apache Kafka MSK (Amazon) o un cluster Kafka autogestito. Per informazioni dettagliate sull'utilizzo di Lambda con AmazonMSK, consulta. Usare Lambda con Amazon MSK
Questo argomento descrive come utilizzare Lambda con un cluster Kafka autogestito. In AWS terminologia, un cluster autogestito include cluster Kafka non AWS ospitati. Ad esempio, è possibile ospitare il proprio cluster Kafka con un provider cloud come Confluent Cloud
Apache Kafka come fonte di eventi funziona in modo simile all'utilizzo di Amazon Simple Queue Service (Amazon) o SQS Amazon Kinesis. Lambda interroga internamente i nuovi messaggi dell'origine eventi, quindi richiama in modo sincrono la funzione Lambda di destinazione. Lambda legge i messaggi in batch e li fornisce alla funzione come payload di evento. La dimensione massima del batch è configurabile. (L'impostazione predefinita è 100 messaggi.)
avvertimento
Le mappature delle sorgenti degli eventi Lambda elaborano ogni evento almeno una volta e può verificarsi un'elaborazione duplicata dei record. Per evitare potenziali problemi legati agli eventi duplicati, ti consigliamo vivamente di rendere idempotente il codice della funzione. Per ulteriori informazioni, consulta Come posso rendere idempotente la mia funzione Lambda
Per le origini eventi basate su KAFKA, Lambda supporta i parametri di controllo dell'elaborazione, come le finestre di batch e le dimensioni del batch. Per ulteriori informazioni, consulta Comportamento di batching.
Per un esempio di come utilizzare Kafka autogestito come fonte di eventi, vedi Utilizzo di Apache Kafka ospitato autonomamente come fonte di eventi per sul blog di Compute
Argomenti
- Esempio di evento
- Configurazione delle sorgenti di eventi Apache Kafka autogestite per Lambda
- Elaborazione di messaggi Apache Kafka autogestiti con Lambda
- Utilizzo del filtraggio degli eventi con una fonte di eventi Apache Kafka autogestita
- Acquisizione di batch scartati per una sorgente di eventi Apache Kafka autogestita
- Risoluzione degli errori di mappatura delle sorgenti degli eventi di Apache Kafka autogestiti
Esempio di evento
Lambda invia il batch di messaggi nel parametro evento quando richiama la funzione Lambda. Il payload evento contiene un array di messaggi. Ogni elemento dell'array contiene i dettagli dell'argomento Kafka e dell'identificatore della partizione Kafka, insieme a una data/ora e a un messaggio con codifica base64.
{ "eventSource": "SelfManagedKafka", "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092", "records":{ "mytopic-0":[ { "topic":"mytopic", "partition":0, "offset":15, "timestamp":1545084650987, "timestampType":"CREATE_TIME", "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers":[ { "headerKey":[ 104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101 ] } ] } ] } }