Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

701
Views
Error de capas de AWS lambda cuando la API de llamada "no puede encontrar el módulo"

Intento usar capas de AWS Lambda, vi un tutorial al respecto, pero aparece el error "no se puede encontrar el módulo..."

 service: aws-nodejs package: exclude: - .gitignore - package.json - .git/** provider: name: aws profile: sandbox runtime: nodejs12.x layers: testLayer: path: testLayer compatibleRuntimes: - nodejs12.x allowedAccounts: - '*' functions: hello: handler: handler.hello layers: - arn:aws:lambda:us-east-1:*:layer:testLayer:15 events: - http: path: test method: get cors: true

Cuando lo implemento, no tengo ningún error en mi terminal, y en AWS, veo mi capa y cuando la descargo, tengo mi package.json con dependencia de momento y la carpeta node_modules con momento

mi handler.js se ve así:

 'use strict'; module.exports.hello = async (event, context) => { const moment = require('moment') const a = moment('2016-01-01') return { statusCode: 200, body: JSON.stringify({ message: 'Hey' + a }), }; };

La estructura de mis archivos:

 testLayer/ node_modules/ moment/ package.json serverless.yml handler.js package.json

¿Tienes alguna idea de lo que estoy haciendo mal?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sí, es posible que sus módulos de nodo estén allí en su capa lambda y, sin embargo, lambda arroje el error "no se puede encontrar el módulo".

Esto puede deberse a que el zip que ha creado no se corresponde con la estructura de directorios mencionada en la documentación de AWS.

Según la documentación oficial:

Inclusión de dependencias de biblioteca en una capa Puede mover las dependencias de tiempo de ejecución fuera de su código de función colocándolas en una capa. Los tiempos de ejecución de Lambda incluyen rutas en el directorio /opt para garantizar que su código de función tenga acceso a las bibliotecas que se incluyen en las capas.

Para incluir bibliotecas en una capa, colóquelas en una de las carpetas admitidas por su tiempo de ejecución.

Node.js: nodejs/node_modules, nodejs/node8/node_modules (RUTA_NODE)

Ejemplo de SDK de AWS X-Ray para Node.js

 nodejs/node_modules/aws-xray-sdk

Asegúrese de que su zip contenga la estructura de directorio correcta; de lo contrario, intente importar sus módulos desde /opt/your_node_module_directory

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!