2017-10-12 162 views
1

我向AWS Kinesis发送事件,这些事件由AWS lambda函数处理。 但是,如果lambda引发一些错误,记录不会被丢弃,并且会一遍又一遍地处理,阻止处理新记录。如何丢弃记录?

我宁愿跳过错误的记录和消化新的记录。 我不明白该怎么做。

lambda函数捕获任何异常,所以它不应该给出任何执行错误。

下面是Python中的代码片段。

据我了解,拉姆达应在“保留”期间(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 ..但我没有看到我在做什么错误

回答