
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
他のプロンプトもチェック
文案作成
推奨モデル - Geminiお客様からのお怒りの問い合わせ内容から お詫びのメール文章を作成するプロンプトです。 ※詳細プロンプトについて知りたい方はXからご連絡ください。 #カスタマーサポート #サポートセンター #メール #バックオフィス #業務効率化4016233GPTs
キャラクター作成
花押クリエイターは、日本の伝統的な署名や印「花押」のデザインをサポートするためのツールです。国内外のさまざまな文化背景を考慮し、名前やシンボルを基にした個性的で芸術的な花押デザインを提案します。 このツールは、歴史的な作法や文化的背景を尊重しながら、現代的なアプローチにも対応します。作成した花押のコンセプトや意図を分かりやすく説明し、カスタマイズや調整も簡単に行うことが出来ます。 初めての方から花押愛好家まで、どなたでもご利用いただける「花押クリエイター」で、あなただけの特別なデザインを作りませんか? GPTsストアで高評価していただけると嬉しいです。 #画像作成 #花押 #サイン722.74K6.23K