簡體   English   中英

在 DynamoDB 基於事件的調用期間超時后,AWS Lambda 是否開箱即用

[英]Does AWS Lambda retires out of the box after a timeout during event based invocation from DynamoDB

我有一個 lambda function 從 DynamoDB 的事件 stream 中提取數據。 在 lambda function 內部,我有一個 REST 調用內部 API 端點之一。 當前為 Lambda 設置的超時為 60 秒。

問題:在日志中,我注意到 Lambda 偶爾會拋出超時異常。 可能是因為我的API沒有在60秒內處理請求。

問題:我想了解如果 lambda超時,那么發送到內部 API/REST 調用的事件和調用會發生什么情況。 這些呼叫/事件會被重試並重新發送到開箱即用的 API 嗎?

我閱讀了以下鏈接:

https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html

AWS Lambda 從 DynamoDB 處理 stream

但我無法理解 API 是否會再次收到這些事件/電話。

對於上下文,這個問題是關於 DynamoDB Streams 和 AWS Lambda 觸發器的。 具體來說,AWS Lambda 服務如何處理由 Lambda 服務調用的 Lambda 函數處理的失敗或超時事件,以處理 DynamoDB Streams 中的事件。

根據將AWS Lambda 與 Amazon DynamoDB文檔結合使用:

如果您的 [Lambda] function 返回錯誤,則 Lambda 會重試 [DynamoDB Streams 事件] 批次,直到處理成功或數據過期。

Lambda 將所有其他結果 [除完全成功之外的任何結果] 視為完全失敗,並重試處理批處理直至重試限制。

所以,我會推斷超時不是完全成功,因此重試了整個批次。

順便說一下,您提到“我有一個 lambda function 從 DynamoDB 的事件 stream 中提取數據”,但這實際上並不是 DynamoDB Streams / Lambda 集成的工作原理。 Lambda 服務輪詢 DynamoDB Stream,然后調用您的 Lambda function,將 DynamoDB 數據推送給您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM