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 年前檢視次數 240 次
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 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南