簡體   English   中英

AWS Lambda Java函數多次調用

[英]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.

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