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.

gefragt vor einem Jahr240 Aufrufe
2 Antworten
0
profile picture
EXPERTE
beantwortet vor einem Jahr
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
SUPPORT-TECHNIKER
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen