投稿日: Dec 15, 2020

AWS Lambda のお客様は、Amazon KinesisAmazon DynamoDB ストリームにおいて、正しく処理されたレコードの自動的なチェックができるようになりました。この処理には、新たなパラメータ (FunctionResponseType) を使用します。このパラメータを “Report Batch Item Failure” に設定することで、バッチ処理が失敗した場合には、最近成功したメッセージが再試行された後にのみ、レコードが作成されるようになります。この設定により、処理の重複が減らせ、処理の失敗に対応するための選択肢を広げることができます。

お客様は、Amazon Kinesis と Amazon DynamoDB ストリームで既に利用可能となっている、他の失敗処理機能と合わせて、今回リリースのチェックポイント設定機能をご使用になれます。処理の失敗が生じた場合、このチェックポイント機能が有効化されていれば、Lambda はこの機能を他のメカニズムより優先的に処理し、処理の重複を最小化します。現状では、BisectBatchOnError のような失敗処理機能を利用されているお客様は、重複した処理も発生させています。チェックポイント機能を有効化しておくと、Lambda は、初回に処理を失敗したレコードのみを処理するようになり、レコードの重複が減らせることになります。

使用開始するには、AWS マネジメントコンソール、AWS CLI、AWS SAM、または AWS SDK for Lambda を使用して、FunctionReponseType パラメータに ReportBatchItemFailure 値を設定し、Kinesis もしくは DynamoDB ストリームでのチェックポイント作成を有効化します。この機能の使用には、追加料金は必要ありません。今回リリースの機能は、Lambda、Kinesis、ならびに DynamoDB が提供されている、すべての AWS リージョンでご利用になれます。Lambda で分析ワークロードをセットアップする方法の詳細については、Lambda のデベロッパーガイド (KinesisDynamoDB) 、および、AWS のコンピューティングブログを参照してください。