结合 Amazon MSK 使用 Lambda - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

结合 Amazon MSK 使用 Lambda

Amazon Managed Streaming for Apache Kafka(Amazon MSK)是一项完全托管式服务,可用于构建并运行使用 Apache Kafka 来处理流数据的应用程序。Amazon MSK 简化了 Kafka 集群的设置、扩展和管理。Amazon MSK 还可以更轻松地配置您的应用程序以适用于多个可用区和保证 Amazon Identity and Access Management (IAM) 的安全性。

本章说明如何将 Amazon MSK 集群用作 Lambda 函数的事件源。将 Amazon MSK 与 Lambda 集成的一般过程包括以下步骤:

  1. 集群和网络设置:首先,设置您的 Amazon MSK 集群。这包括允许 Lambda 访问集群的正确联网配置。

  2. 事件源映射设置:然后,创建 Lambda 需要的事件源映射资源,以将 Amazon MSK 集群安全地连接到您的函数。

  3. 函数和权限设置:最后,请确保您的函数设置正确,并且在其执行角色中具有必要的权限。

有关如何设置与 Amazon MSK 集群的 Lambda 集成的示例,请参阅教程:使用 Amazon MSK 事件源映射调用 Lambda 函数、Amazon Compute Blog 上的 Using Amazon MSK as an event source for Amazon Lambda 和 Amazon MSK Labs 中的 Amazon MSK Lambda Integration

事件示例

Lambda 调用函数时会在事件参数中发送一批消息。事件负载包含一个消息数组。每个数组项目都包含 Amazon MSK 主题和分区标识符的详细信息,以及时间戳和 base64 编码的消息。

{ "eventSource":"aws:kafka", "eventSourceArn":"arn:aws:kafka:cn-north-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2", "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.cn-north-1.amazonaws.com.cn:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.cn-north-1.amazonaws.com.cn: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 ] } ] } ] } }