【发布时间】:2017-10-12 10:16:23
【问题描述】:
我向 AWS Kinesis 发送事件,这些事件由 AWS lambda 函数处理。 但是,如果 lambda 抛出一些错误,记录不会被丢弃,而是会反复处理,从而阻塞新记录的处理。
我宁愿跳过错误记录并消化新记录。 我不明白该怎么做。
lambda 函数捕获任何异常,因此它不应该给出任何执行错误。
这里是python中的sn-p下面。
我知道 lambda 应该在“保留”期间重试(默认为 24 小时),但我想放弃并最终记录任何类型的错误
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}
我想我关注了这个lambda retries...但我看不出我做错了什么
【问题讨论】: