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

投稿日時:
- プロンプト実行例
- プロンプトを見る

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

JavaScript1const now = new Date(); 2 3export const handler = () => { 4 const s3 = new S3Client(); 5 // 略 6}

このコードの改善点は以下の通りです:
-
グローバルスコープにあると問題が発生するもの
- const now = new Date();: now変数がグローバルスコープに定義されており、Lambda関数が初回実行時に1度だけ実行されるため、実際にLambdaが呼び出された時刻ではなく、Lambda関数が最初に読み込まれた時刻がnowに設定されてしまいます。このため、グローバルスコープに定義することで、Lambda関数が再利用される際に正確な現在時刻を取得できない可能性があります。
-
ハンドラからグローバルスコープに移動したほうが良いもの
- const s3 = new S3Client();: 新しいS3Clientのインスタンスをハンドラ外で作成しているため、毎回同じインスタンスが再利用されず、リクエストごとに新しいインスタンスが作成されてしまいます。これは無駄なリソースを消費するため、関数ハンドラ内でインスタンスを生成するように移動することでリソース効率を改善できます。
コメント 0
他のプロンプトもチェック
GPTs
資料作成
Youtubeやブログなどの構成を考えてくれるGPTsです。 ユーザーがやることは書いて欲しいテーマを送って後はOKと送るだけ もう、動画やブログの構成に悩むことはなくなります。 #動画 #ブログ #自動 #構成 #執筆 #Youtube001641GPTs
マーケティング一般
▼最新作はこちら▼ https://oshiete.ai/item_lists/73557973863457792 誰でもできるXアカウント分析ツールです。フォロワーを伸ばしたい人、いいね・リツイートを獲得したい人にオススメ。あなたのXアカウントの分析をします。フォロワーを伸ばす方法や、伸びているツイートの特徴、インプレッションの多い時間帯をグラフにして徹底解説。今後するべきツイート内容や、投稿すべき時間帯のアドバイスも可能。 ▶ツイート自動作成プロンプトと合わせてぜひ活用してみてください▼ https://oshiete.ai/items/103162384735000576114251773画像生成
SNS投稿
推奨モデル - Midjourney◯春やフ◯イ◯ーなど三流ゴシップ写真メディアが撮りそうなアイドルの◯倫現場のスクープ写真を作る