簡體   English   中英

有沒有辦法在 Lambda 的重試之間傳遞值?

[英]Is there a way to pass along values between retries in Lambda?

例如 Try one failed,我們可以通過下面的方式將幾個參數傳遞給下一次重試的事件對象嗎?

event.somevariable = 一些值

如果我們想做那樣的事情,我們的選擇是什么?

無法在 AWS 中直接執行此操作。

您可以將請求 ID 用作存儲該值的 DynamoDB 表中的主鍵,並始終在請求開始時在 DynamoDB 中查找這些值。

我不喜歡 Lambda 重試。 它們的運行與初始調用完全相同,如果第一次失敗,后續的兩次重試都會失敗。 有什么變化?

我將假設您想要傳遞一個變量來跟蹤正在執行的重試並可能進行更改以便后續重試成功 - 這確實有意義。 然而,不幸的是,您需要在 lambda 之外查看才能實現這一點。

DynamoDB 是一種常用的方法,用於跟蹤事件 ID 和執行次數,但我個人認為這是一個錯誤。

我寧願使用 Amazon SNS 在失敗時 ping HTTP 端點,然后使用不同的參數重新執行我的 lambda 函數。 請注意(在所有情況下)冪等性。 您應該能夠多次重新執行 lambda 而不會導致問題或覆蓋預期發生的事情。

暫無
暫無

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

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