比較検索なら 天秤AI byGMO
AWS Lambdaのコードレビュー:グローバルスコープにあって良いもの・まずいもの

AWS Lambdaのコードレビュー:グローバルスコープにあって良いもの・まずいもの

AWS Lambdaは関数インスタンスが再利用されるため,グローバルスコープに配置すると問題が発生する処理があります。逆に,再利用されることを期待してグローバルスコープに配置したほうが良い処理もあります。 このプロンプトは,AWS Lambdaのコードをレビューして,これらの問題点や改善点を探します。

1
0
40
1
user_106564908291012608
がお気に入り登録しました。

投稿日時:

  • プロンプト実行例
  • プロンプトを見る
AWS Lambdaのコードレビュー:グローバルスコープにあって良いもの・まずいもの

コードを入力してください。

JavaScript
1const now = new Date();
2
3export const handler = () => {
4  const s3 = new S3Client();
5  // 略
6}
AWS Lambdaのコードレビュー:グローバルスコープにあって良いもの・まずいもの

このコードの改善点は以下の通りです:

  1. グローバルスコープにあると問題が発生するもの

    • const now = new Date();: now変数がグローバルスコープに定義されており、Lambda関数が初回実行時に1度だけ実行されるため、実際にLambdaが呼び出された時刻ではなく、Lambda関数が最初に読み込まれた時刻がnowに設定されてしまいます。このため、グローバルスコープに定義することで、Lambda関数が再利用される際に正確な現在時刻を取得できない可能性があります。
  2. ハンドラからグローバルスコープに移動したほうが良いもの

    • const s3 = new S3Client();: 新しいS3Clientのインスタンスをハンドラ外で作成しているため、毎回同じインスタンスが再利用されず、リクエストごとに新しいインスタンスが作成されてしまいます。これは無駄なリソースを消費するため、関数ハンドラ内でインスタンスを生成するように移動することでリソース効率を改善できます。

コメント 0

他のプロンプトもチェック