AWS Lambda 获得了原生的 Avro 和 Protobuf 支持,用于与模式注册表集成的 Kafka 事件

AWS 宣布在 AWS Lambda 中利用 Provisioned Mode 的 Apache Kafka 事件源映射(ESM)时,原生支持 Apache AvroProtocol Buffers(Protobuf)格式的事件。这一增强功能通过直接与流行的模式注册表集成,显著简化了高效二进制 Kafka 事件的处理,包括 AWS Glue Schema Registry(GSR)、Confluent Cloud Schema Registry(CCSR)和 自管理 Confluent Schema Registry(SCSR)。

此前,使用 Avro 和 Protobuf 处理 Kafka 数据的组织需在 Lambda 函数内编写自定义代码来验证、反序列化和过滤事件,而新功能使 Lambda 的 ESM 原生处理这些复杂性,将模式注册表集成逻辑从应用层移至托管服务。AWS Lambda 的首席工程师 Rajesh Pandey 在 LinkedIn 帖子中强调了这一简化:无需在函数内设置复杂的反序列化器或处理模式解析。

内置集成可自动验证传入的 JSON Schema、Avro 和 Protobuf 记录与已注册的模式,使开发者能在集中且一致共享数据模式的同时消费和过滤这些更高效的二进制格式。此外,开发者可使用 Kafka 的开源 ConsumerRecords 接口构建函数,并借助 Powertools for AWS Lambda直接访问 Avro 或 Protobuf 生成的业务对象,而无需编写自定义反序列化代码。

Lambda 函数还可接收干净、已验证的 JSON 数据,无论原始序列化格式如何,进一步简化了开发。可在函数调用前在上游设置事件过滤规则以丢弃无关事件,优化计算成本。AWS Serverless Hero Yan Cui 在 LinkedIn 上进一步强调了这一优势,称其可在 ESM 级别(而非代码内部)过滤事件,从而节省一些不必要的 Lambda 调用成本。

配置需在 AWS Management Console、AWS CLI、SDKs 或基础设施即代码(IaC)工具(如 AWS Serverless Application Management(ASM)或 AWS Cloud Development Kit(CDK))中启用 Kafka ESM 的 Provisioned Mode 并指定模式注册表设置(端点、身份验证和验证字段)。Julian Wood 和 Nihar Sheth 在 AWS Compute 博客帖子中写道,新功能适用于 Amazon Managed Streaming for Apache Kafka(Amazon MSK)、Confluent Cloud和自管理 Kafka 集群,开始使用时需将现有 Kafka ESM 更新为 Provisioned Mode 并添加模式注册表配置,或创建新的启用模式注册表集成的 Provisioned Mode ESM。

ESM 可自动处理模式演变,通过检测更新的模式 ID 并获取最新定义来实现。对于错误处理,可将验证或反序列化失败的事件路由到配置的失败目的地(如 Amazon SQS、SNS 或 S3)以用于调试目的。

AWS Lambda 中 Apache Avro 和 Protocol Buffers 格式的事件在所有支持 AWS Lambda Kafka ESM 的 AWS 商业区域通用,但以色列(特拉维夫)、亚太地区(马来西亚)和加拿大西部(卡尔加里)除外。

阅读 320
0 条评论