目前我已經設置了一個由api網關端點觸發的lambda函數。目標是通過形成響應並首先觸發回調來保持低響應時間,然後繼續與sns交互以將工作傳遞給其他lambda函數。但是,我在運行火焰眼鏡對着端點時發現了一些奇怪的現象。主要是響應時間似乎不斷增加,此外有502和504響應代碼返回,但沒有500響應代碼(如果我理解正確,表明調用調節,因爲429響應映射到api網關500)。如果我刪除了異步操作,我會看到合理的響應時間並且沒有錯誤。爲什麼這是觀察到的行爲,當實際觸發響應時,或者在發送響應之前lambda是否等待事件隊列清空時,項目在nodejs事件循環中排隊的順序不起作用?如果是後者,那麼異步交互中的錯誤會成爲響應的原因嗎?lambda + api網關何時實際向客戶端發送響應?
2
A
回答
4
確實在哪些項目上取得成功的事件的NodeJS循環排隊不 效果時,反應在實際觸發或不拉姆達只是 等待事件隊列發送響應之前,空出的順序?
默認情況下,在退出並觸發API網關發送響應之前,NodeJS 4.2 Lambda函數將等待NodeJS事件循環爲空。當您調用callback
函數時,只需通知Lambda容器即可在事件循環清除後退出。在存在Lambda函數之前,API網關不會返回響應。只要調用callback
函數,就可以設置一個選項來觸發Lambda函數退出,但隨後在後臺運行的其他內容將被終止。
如果是後者,那麼將在異步交互的錯誤是 原因502個& 504響應的?
如果「異步交互」你的意思是你正在調用到SNS,則是如果這些失敗,你不處理錯誤正確可能導致整個調用返回一個錯誤。如果您收到502錯誤,您需要檢查您的Lambda function's logs in CloudWatch Logs以查看錯誤是什麼。您也可以在這種情況下提供一些有用的信息enable CloudWatch Logs for API Gateway。
相關問題
- 1. 向客戶端發送標題響應
- 2. Http入站網關需要2x超時向客戶端發送超時響應
- 3. 如何使用NModbus4框架向Modbus客戶端發送響應?
- 4. 如何使用HTTP響應頭向客戶端發送CSS?
- 5. 如何從servlet向客戶端發送響應?
- 6. 如何從smpp服務器向客戶端發送delivery_sm響應
- 7. 如何知道響應何時完成發送給客戶端?
- 8. 從iframe頁面向設備(客戶端)發送響應結束
- 9. ASHX立即向客戶端發送響應
- 10. Datapower客戶端錯誤,向WCF服務發送響應
- 11. CallbackEventHandler可以向客戶端發送多個響應嗎?
- 12. Tornado不會向客戶端發送Ajax響應
- 13. 向nodejs中的客戶端發送響應
- 14. 春季集成:發送響應到客戶http入站網關
- 15. AWS Lambda和API網關加SOAP客戶端
- 16. 向juggernaut發送實時數據給客戶端
- 17. 向web客戶端發送實時數據錯誤捕獲
- 18. 從客戶端發送POST時Web服務沒有響應
- 19. AWS Lambda和API網關端點響應中的調試錯誤
- 20. 使用RavenDB客戶端API發送客戶端證書
- 21. 如何使用socket.io將響應發送回客戶端?
- 22. 如何在Java中正確發送HTTP響應到客戶端
- 23. JSF:如何捕捉響應是發送到客戶端
- 24. 如何從Netty向客戶端發送更多然後一個響應
- 25. 如何向asp.net中的客戶端發送「拒絕訪問」http響應?
- 26. 放棄一個asp.net請求,但不向客戶端發送任何響應
- 27. 如何在ColdFusion中向客戶端發送HTTP狀態碼和響應消息?
- 28. 如何在向客戶端發送請求後從webview獲得響應
- 29. 向客戶端呈現XMLHTTPRequest響應?
- 30. nodejs不向客戶端發送數據
你有沒有找到一種方法來觸發ApiGateway,同時保持lambda的拆卸代碼運行? –