发布于: Nov 25, 2019

AWS Lambda 现在支持使用四种新的故障处理功能来处理 Kinesis 和 DynamoDB 流:函数错误二分法、最长记录期限、最大重试次数和故障目标。这些新功能让您能够自定义对数据处理故障的响应,并构建更具弹性的流处理应用程序。

Lambda 可批量处理 KinesisDynamoDB 流的数据记录。 以前,当函数返回错误时,Lambda 会停止处理受影响分区中的所有数据,然后重新处理整批记录。Lambda 会一直重新处理这些记录,直到被 Lambda 成功处理或事件源过期为止。

函数错误二分法
启用“函数错误二分法”后,Lambda 在函数返回错误时将受影响的记录分为两部分,并分别重试。这样,您可以轻松地将格式错误的数据记录与其余部分分离,并成功处理其余数据记录。

最长记录期限
数据记录达到最长记录期限(配置区间为 60 秒到 7 天)时,Lambda 函数可以跳过对它的处理。

最大重试次数
一批纪录达到最大重试次数(配置区间为 0 到 10000)时,Lambda 函数可以跳过对它们的处理。 

故障目标
现在,即使 Lambda 函数返回错误,也可以继续处理分区。当数据记录达到最大重试次数或最长记录期限时,您可以将其元数据(如分区 ID 和流 ARN)发送给 SQS 队列或 SNS 主题这两个目标中的一个,以进行进一步调查。

您可以通过 AWS 管理控制台,AWS CLI、AWS CloudFormation 或适用于 Lambda 的 AWS 开发工具包开始使用这些功能。在推出 AWS Lambda 的所有 AWS 区域都可以免费使用这些功能。有关 AWS Lambda 可用区域的更多信息,请参阅 AWS 区域表。要了解更多信息,请参阅 AWS Lambda 开发人员指南中的将 AWS Lambda 与 Amazon Kinesis 结合使用 以及将 AWS Lambda 与 Amazon DynamoDB 结合使用。