搭配使用 Lambda 與 Amazon MSK - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

搭配使用 Lambda 與 Amazon MSK

Amazon Managed Streaming for Apache Kafka (Amazon MSK) 是一種全受管服務,可用來建置和執行使用 Apache Kafka 處理串流資料的應用程式。Amazon MSK 可簡化 Kafka 叢集的設定、擴展和管理。Amazon MSK 也可讓您更輕鬆地為多個可用區域設定應用程式,並使用 AWS Identity and Access Management (IAM) 確保安全。

本章說明如何使用 Amazon MSK 叢集做為 Lambda 函數的事件來源。將 Amazon MSK 與 Lambda 整合的一般程序包含下列步驟:

  1. 叢集和網路設定 – 首先,設定您的 Amazon MSK 叢集。這包括正確的聯網組態,以允許 Lambda 存取您的叢集。

  2. 事件來源映射設定 – 接著,建立 Lambda 將 Amazon MSK 叢集安全地連線至函數所需的事件來源映射資源。

  3. 函數和許可設定 – 最後,確保您的函數已正確設定,並在其執行角色中具有必要的許可。

如需如何設定 Lambda 與 Amazon MSK 叢集整合的範例,請參閱《 AWS 運算部落格》中的教學課程:使用 Amazon MSK 事件來源映射來調用 Lambda 函數使用 Amazon MSK 作為 的事件來源 AWS Lambda,以及《Amazon MSK 實驗室》中的 Amazon MSK Lambda 整合

範例事件

Lambda 會在調用函數時,在事件參數中傳送訊息批次。事件酬載包含訊息陣列。陣列中的每個項目包含 Amazon MSK 主題和分割區識別符的詳細資訊,以及時間戳記和 base64 編碼的訊息。

{ "eventSource":"aws:kafka", "eventSourceArn":"arn:aws:kafka:us-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2", "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 ] } ] } ] } }