2016-12-14 5 views
2

AWSラムダで関数を実行する場合、環境変数を使用して設定を制御するのが一般的です。しかし、APIゲートウェイを介してLambdaを呼び出すときには、あなたは「段階変数」と争うべきです。ラムダファンクション/ステージスコープ

私の質問は、AWS LambdaインスタンスがAPIゲートウェイから呼び出されたときに特定のAPIゲートウェイステージにスコープされているため、呼び出し間でステージを変更することができないということです。実際には、各APIのステージは、ステージ変数に応じてリサイクルされる独自のプールインスタンスです。私はこの動作に依存することがありますどこの

例:

  • は、テーブルへの接続を作成する - テーブル名ごとの段階に異なりますので、私は最初の使用上の接続を作成する場合、私は思います最初の呼び出し側ステージコンテキストを使用して終了します。別のAPIゲートウェイステージでコールするとどうなりますか?

  • 環境用のさまざまなJWTキー。

この上のマイ感がAPIゲートウェイが2つのバージョンを持っている場合/まったく同じ機能のverisonを参照する展開の段階は、ラムダ・管理機能のインスタンスは交換可能に二つの段階からの呼び出しを受け取ると、私ことができるということですコンテキストをキャッシュし、処理中の情報(ステージ変数)の情報を要求しません。

AWS API Gateway/Lambdaには多くの問題がありますが、この問題に対する明確な答えが見つかりませんでした。

答えて

1

あなたが正しいですが、1つのラムダ関数バージョンには完全に独立したインスタンスのプールがあります。異なるAPIゲートウェイ段階と異なるAPIであっても同じ機能を呼び出すことができ、これはラムダのインスタンスプールに影響を与えません。

したがって、実行中の関数キャッシュでは、特定のAPIおよび/またはステージのみがキャッシュされたデータにアクセスするという前提を使用すべきではありません。