[英]AWS Lambda Java function invoked multiple times
我有一個AWS
Lambda函數,我用Java編寫(好吧,它實際上是用Clojure編寫的),每次運行它時都會被調用3次。
我的函數在超時(設置為最多5分鍾)內成功運行。 當我在控制台中測試函數時,它返回一個我可以看到輸出的字符串。
我在網上看到過一些關於不得不調用一些Context成功/完成函數但在Java SDK中看不到的東西(似乎只適用於Node?)。
我錯過了什么嗎?
當我在控制台中單擊測試(它只運行一次)但在通過CloudWatch Trigger觸發或通過AWS SDK運行時確實發生這種情況。
謝謝,
多諾萬
更新:道歉,只有通過SDK和CLI通過觸發器運行時才會發生這種情況,所以可能在我正在進行的通話中有一些超時。
對於其他任何人的未來參考,問題是SDK和CLI達到一分鍾的讀取超時,然后重試請求。 我手動將其設置為5分鍾以匹配我的AWS Lambda超時。
這可以通過添加--cli-read-timeout int
在CLI中完成,其中int
是您想要的超時(或者只是--cli-read-timeout 0
,它會完全禁用超時)。
在Java SDK中,可以通過在ClientConfiguration
對象上調用setSocketTimeout(int socketTimeout)
來完成
在使用Amazonica的Clojure中,將:client-config {:socket-timeout xxx}
到您的憑據映射中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.