2017-10-12 160 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 ..但我沒有看到我在做什麼錯誤

回答