Layers with ES in node18.x

0

Is it the case that we can't use layers with ES in node18.x?

I am getting the following error upon trying to convert to ES in node18.x when my lambda tries to use layer code:

Runtime.UserCodeSyntaxError: SyntaxError: The requested module '/opt/nodejs/index.js' does not provide an export named 'MyLayerCode'"

I found this response to a question about 14.x and 16.x

ACCEPTED ANSWER Unfortunately AWS support has confirmed we can't utilize layers with ES:

importing ESM modules from layers seems to not be supported when using a module type in Lambda. [...] this is a Node feature blocking us to import ES modules from a layer as "NODE_PATH" variable is not supported by the ESM loader in node

Disappointing that AWS is making headway on supporting ES, but it means we lose the functionality of layers. Support provided a wrapper workaround that we'll be trying. It corresponds with what we found here. Hopefully this saves someone else the headache we've gone through the last week.

質問済み 1年前239ビュー
2回答
0
profile picture
エキスパート
回答済み 1年前
0

Hi,

I would recommend you to raise a GitHub issue with the AWS NodeJS team. They would be able to provide assistance over the error that you are receiving.

Have a great day ahead!

AWS
サポートエンジニア
回答済み 1年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ