イベントをAWS Kinesisに送信します。これらのイベントは、AWSラムダ関数によって処理されます。 しかし、ラムダが何らかのエラーをスローすると、レコードは破棄されず、何度も処理されて新しいレコードの処理がブロックされます。レコードを破棄する方法は?
私は誤ったレコードをスキップして新しいレコードを消化したいと思います。 私はそれを行う方法を理解していません。
ラムダ関数は例外をキャッチしているため、実行エラーが発生してはいけません。
ここでは、Pythonのスニペットを示します。
私は、ラムダは「保持」期間(24時間デフォルト)中に再試行されなければならないことを理解し、私は捨てて、最終的に私はこのlambda retriesに続くと思わエラー
def ProcessKinesisRecords(event, context):
body = "ok"
response_code = 200
for record in event['Records']:
# Kinesis data is base64 encoded so decode here
try:
payload = base64.b64decode(record["kinesis"]["data"])
#...payload processing
except Exception as e:
body = e
return {"isBase64Encoded": True, "statusCode": response_code, "headers": { "x-custom-header": "headerValue" }, "body": body}
のいずれかの種類のログを記録したいと思います..しかし、私は何が間違っているのか分かりません。