現在、私は、apiゲートウェイエンドポイントからトリガされるラムダ機能をセットアップしました。目標は、レスポンスを形成し、最初にコールバックをトリガーし、次にsnsとやり取りして他のラムダ関数に作業を渡すことによって応答時間を低く抑えることでした。しかし、私は、端点に対してブレーズメーターを実行しているときには、奇妙な動作に気づいています。主に応答時間が継続的に増加しているように見えます。さらに、502と504の応答コードが返されますが、500の応答コードはありません(正しく理解すれば、429応答がAPIゲートウェイの500にマップされているため、非同期アクションを削除すると、妥当な応答時間が表示され、エラーは発生しません。これが観測された振る舞いであり、nodejsイベントループでアイテムがキューに入れられる順序は、応答が実際にトリガされたとき、またはラムダがレスポンスを送信する前にイベントキューが空になるのを待っているかどうかに影響しませんか?後者の場合は、非同期相互作用のエラーが502 & 504の応答の原因になりますか?lambda + apiゲートウェイはいつ実際にクライアントに応答を送信しますか?
2
A
答えて
4
はアイテムが応答が実際にトリガーされたときnodejsイベントループにない 効果をキューに入れられるか、イベントキューのためのラムダだけ 待ち時間が応答を送信する前に空にしない順序をしますか?
デフォルトでは、NodeJS 4.2ラムダファンクションは、NodeJSイベントループが空になるのを待ってから、APIゲートウェイを終了して応答を送信します。 callback
関数を呼び出すと、Lambdaコンテナにイベントループがクリアされると終了するように通知されます。 APIゲートウェイは、ラムダ関数が存在するまで応答を返しません。 callback
関数を呼び出すとすぐにラムダ関数を終了させるオプションを設定できますが、バックグラウンドで実行している他のものは強制終了されます。
後者の場合、非同期相互作用における誤差は502の& 504応答の 原因だろうか?
「非同期のやりとり」とは、作成しているSNSへの呼び出しを意味し、それらが失敗し、正しくエラーを処理しなかった場合は、呼び出し全体がエラーを返す可能性があります。 502エラーが発生した場合は、エラーが何であるかを確認するためにLambda function's logs in CloudWatch Logsを確認する必要があります。この場合、役に立つ情報を提供するかもしれないenable CloudWatch Logs for API Gatewayもあります。
関連する問題
- 1. Spring統合:クライアントhttp受信ゲートウェイへの応答を送信
- 2. 応答後に実行するExpress/Connectミドルウェアをクライアントに送信
- 3. 私たちのサーバーからクライアントにHTTP応答を送信
- 4. Ajaxを介してフォームを送信し、APIレスポンスに基づいてクライアントに応答する
- 5. TCPゲートウェイで応答を送信した後、Spring統合のserviceActivatorにメッセージを送信
- 6. URLにどのように応答を送信しますか?
- 7. なぜwakandaクライアントが応答として012を送信する
- 8. node.js APIの応答が終了していません。「送信後にヘッダーを送信できません。」
- 9. 応答がクライアントに送信された後にDjangoでコードを実行します
- 10. クライアントは応答を取得している間にhttp要求を送信できますか?
- 11. http応答を送信した後に実行Java
- 12. ServiceAuthorizationManagerの例外は常にXML応答を送信します
- 13. フォームの送信応答を送信
- 14. JavaのクライアントにHTTP応答を正しく送信する方法
- 15. APIゲートウェイ500未処理の例外に対する応答
- 16. Socket.ioは送信者に応答します
- 17. FB.getLoginStatus応答に実際に時間がかかります
- 18. 送信ボタンが応答しないOnclick
- 19. 応答を送信した後にC#.netメンバーが見つかりません
- 20. kannelゲートウェイがSMSに応答していません
- 21. ゲートウェイタイムアウト:ゲートウェイがアップストリームサーバーからタイムリーな応答を受信しませんでした
- 22. koajsを使用してhttp応答を送信するには
- 23. ゲートウェイAPIを使用して画像をLambdaにアップロード
- 24. サーバー送信イベント - 特定のクライアントへの応答をターゲットにする
- 25. 送信REST応答が
- 26. AppDelegate送信応答swift3
- 27. ノードapiデータをクライアント側jsに送信
- 28. AWS APIゲートウェイでデータが変更されました。応答本体
- 29. リバースプロキシモードApacheの代行受信またはトラップ302のバックエンドサーバーからの応答とクライアントへの302応答の送信なしで内部的にリダイレクト
- 30. いつでもMongoDBのドキュメントをクライアントに送信します。
ラムダの引き裂かれたコードを実行しながら、ApiGatewayを起動する方法を見つけましたか? –