ベストプラクティスラムダ関数

ファンクションコード

コアロジックからラムダハンドラ(エントリポイント)を分離します。 これは、あなたがより簡単にユニットテストの機能を作成することができます。

  • 再使用して関数の実行性能を向上させるためにコンテキストを。 あなたのコードは、ローカルストレージと参照の初期の実装後に外部化構成や依存関係を取得していることを確認します。制約変数/各コールに再初期化オブジェクトが、静的な初期化/コンストラクタ、グローバル/静的変数と単一の実施形態の使用。アクティブのままであり、単一のコールの確立に接続(HTTP、データベース、等)を再利用します。

  • 使用  AWSラムダ環境変数  あなたの関数に渡された動作パラメータを。 あなたのAmazon S3バケットを書くときに、例えば、バケット名はハードコーディングされたに書き込むべきでない、とバケット名は環境変数として設定する必要があります。

  • 依存パッケージで展開制御機能。AWSラムダ実行環境は、Node.jsのと(:完全なリストはここに配置されているPythonランタイムAWS開発キット用としていくつかのライブラリが含まAWSラムダランタイムを)。ラムダは、定期的に最新のセキュリティアップデートや機能セットをサポートするために、これらのライブラリを更新します。これらのアップデートは、ラムダ行動の機能の微妙な変化を引き起こす可能性があります。完全に使用され、あなたの関数の依存関係を制御するためには、展開パッケージ内のすべてのパッケージの依存関係することをお勧めします。

  • 展開パッケージのサイズは、時間の実行の一部のみが含まれて合理化する必要があります。 これはあなたが必要とする展開パッケージをダウンロードし、解凍する前に呼び出しまでの時間を短縮します。Javaや.NETのコアで書かれた関数については、パッケージの一部として展開をアップロードするために、全AWS SDKライブラリーを行うが、選択的開発キットのコンポーネントを選択してください(たとえば、DynamoDBのような所望のモジュールによれば、 Amazon S3のモジュール開発キットおよび  ラムダコアライブラリ)。

  • 依存  .jar 別々の/ libディレクトリ内のファイルは、することができます(Javaで書かれた)展開パッケージラムダデコンプレッサに必要な時間を短縮しますこれは、配置されている全ての機能コードの大きな比を有する  .class 同じjarファイル高速にします。手順については、  JavaでAWSラムダ展開パッケージを

  • 最小の複雑さの依存性。 好適な実行コンテキストよりシンプルなフレームワークをすばやく起動時にロードすることができます。例えば、より好適な単純なJava依存性注入(IOC)のようなフレームワーク、  ダガー  又は  Guiceのではなく、より複雑ではなく、  Springフレームワーク

  • 再帰的なコードラムダ関数を使用することは避けてくださいいくつかの任意の基準を満たすまで、再帰関数を使用してコードは、自動的に自分自身を呼び出す場合ので、。これは、関数呼び出しの予想外の量につながるとコストをアップグレードすることができます。あなたがそう誤って行うと、すぐに機能が同時セットの数を制限し実行してください  0 コードを更新しつつ、機能に対するすべての呼び出しを制限します。

おすすめ

転載: www.cnblogs.com/cloudrivers/p/11617938.html