質問・問題
Lambda ランタイム Node.js 18 実行時「exports is not defined in ES module scope」のエラーが発生します。
回答・解決方法
ES モジュール方式のファイルに、CommonJS モジュール方式のコードを記述しているのが原因です。
ファイル拡張子を「.mjs」から「.js」に変更いただくか、ES モジュール方式のコードに修正してください。
Lambda はデフォルトで、ファイル拡張子「.js」を CommonJS モジュール、「.mjs」を ES モジュールとして扱い、Node.js 18 で新規作成された Lambda 関数は「.mjs」で作成されます。
【参考記事】
Node.js の AWS Lambda 関数ハンドラー
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/nodejs-handler.html
ES モジュールとしての関数ハンドラーの指定
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-nodejs.html#designate-es-module
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-nodejs.html#designate-es-module