ファンクション・デザイン
2202 ワード
AWSラムダを設計するときは、副作用を低くしてください.あなたのハンドラ関数を考えてください.リストと同じように入力できる
機能
あなたは最初にどのように迅速に“ちょうど1機能”複雑さの成長に驚くことでしょう.経験したならbig ball of mud ” または“ビッグコードベースは、”友人がない場合は、なぜあなたが小さな目的で起動する理由を取得します.
AWS Lambda best practices 小さな、状態のない機能を奨励します.より正式に言うために、彼らは小さいファイルサイズ純粋な機能を奨励します.
それが容易に/速度理由のためにより多くの副作用を作成するとしても、1ラムダでコードを共同で見つけるのはより簡単かもしれません.
Pythonならばreturns library with the IO マーカーmypy .
ジャバスクリプトFolktale v2 Result インPromise .
タイプスクリプトを使用してIOEither (彼らはチェーンを奨励するでしょう、しかし、約束の中でOKです).
スカラZIO から選択するすべての種類のIOタイプがあります.
Array[string]
, だけでなく、1つのIOタイプを維持してください.機能
const handler = async event => {...}
種類:Event -> IO[String]
私は、これが難しいということを知っています.あなたの関数がちょうど2つのものさえするならばS3 , 次に、Dynamo , それは2 IOイベントです.しかし、それは3つの可能な応答です.あなたは最初にどのように迅速に“ちょうど1機能”複雑さの成長に驚くことでしょう.経験したならbig ball of mud ” または“ビッグコードベースは、”友人がない場合は、なぜあなたが小さな目的で起動する理由を取得します.
AWS Lambda best practices 小さな、状態のない機能を奨励します.より正式に言うために、彼らは小さいファイルサイズ純粋な機能を奨励します.
それが容易に/速度理由のためにより多くの副作用を作成するとしても、1ラムダでコードを共同で見つけるのはより簡単かもしれません.
Pythonならばreturns library with the IO マーカーmypy .
ジャバスクリプトFolktale v2 Result インPromise .
タイプスクリプトを使用してIOEither (彼らはチェーンを奨励するでしょう、しかし、約束の中でOKです).
スカラZIO から選択するすべての種類のIOタイプがあります.
Reference
この問題について(ファンクション・デザイン), 我々は、より多くの情報をここで見つけました https://dev.to/jesterxl/aws-lambda-function-design-best-practice-3904テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol