View a markdown version of this page

搭配使用 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 主控台建立和管理 Amazon MSK 事件來源映射。兩個主控台都提供選項,可自動處理設定必要的 Lambda 執行角色許可,以便更簡化的組態程序。

如需如何設定 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 ] } ] } ] } }