投稿日: Jan 6, 2022
Node.js 14 ランタイムを使用する AWS Lambda 関数は、ECMAScript モジュールとしてパッケージ化されたコードをサポートするようになりました。これにより、Lambda をご利用のお客様は、Lambda 関数でより幅広い JavaScript パッケージを使用できるようになりました。さらに、Lambda をご利用のお客様は、Node.js 14 言語機能である「Top-Level Await」を利用できるようになりました。Provisioned Concurrency とともに使用することで、非同期初期化タスクを持つ関数のコールドスタートパフォーマンスが向上します。詳細については、Using Node.JS ES Modules and Top-Level Await in AWS Lambda のブログ投稿を参照してください。
ECMAScript (ES) モジュールは、JavaScript コードのパッケージ形式です。これは、他のアプリケーションでインポートして再利用できるようにすることを目的として、JavaScript コードライブラリを公開するために使用されます。これまで、Lambda の Node.js ランタイムは、以前の CommonJS パッケージ形式を使用したコードのみをサポートしていました。このリリースでは、お客様は関数ハンドラーとインポートするコードの両方のために ES モジュール形式を使用できます。
このリリースでは、お客様は Node.js 14 言語機能である「Top-Level Await」を使用して、関数の初期化フェーズで非同期初期化タスクが完了するのを待機することもできます。この機能は、事前にランタイム環境を作成する Provisioned Concurrency で設定された関数に特に役立ちます。これは、コールドスタートのレイテンシーを短縮するように設計されており、アプリケーションの応答性が向上します。
お客様は ES モジュールを使用でき、Node.js 14 ランタイム (およびより新しい Node.js ランタイムの後続リリース) を使用して、すべての Lambda 関数で Top-Level Await を実行できます。中国リージョンを除き、Lambda を使用できるすべてのリージョンで使用可能です。AWS Lambda の詳細については、製品ページをご覧ください。また、使用を開始するには AWS Lambda コンソールにサインインしてください。