Lambda Function Error

0

I created Lambda function(Node.js) for image resizing. I got Runtime.HandlerNotFound error.

Cloudwatch log as follows:

2022-07-15T01:06:22.016Z undefined ERROR Uncaught Exception { "errorType": "Runtime.HandlerNotFound", "errorMessage": "index.handler is undefined or not exported", "stack": [ "Runtime.HandlerNotFound: index.handler is undefined or not exported", " at Object.module.exports.load (/var/runtime/UserFunction.js:283:11)", " at Object.<anonymous> (/var/runtime/index.js:43:34)", " at Module._compile (internal/modules/cjs/loader.js:1085:14)", " at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)", " at Module.load (internal/modules/cjs/loader.js:950:32)", " at Function.Module._load (internal/modules/cjs/loader.js:790:12)", " at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)", " at internal/main/run_main_module.js:17:47" ] }

Some of my Index.js is as follows:

'use strict';

const querystring = require('querystring'); // Don't install. const AWS = require('aws-sdk'); // Don't install.

// http://sharp.pixelplumbing.com/en/stable/api-resize/ const Sharp = require('sharp');

const S3 = new AWS.S3({ region: 'ap-northeast-2' // });

const BUCKET = 'BUCKET_NAME' // Input your bucket

// Image types that can be handled by Sharp const supportImageTypes = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'tiff', 'jfif'];

exports.handler = async(event, context, callback) => { const { request, response } = event.Records[0].cf;

console.log("request: ", request) console.log("response: ", response) . . . .

gefragt vor 2 Jahren7913 Aufrufe
5 Antworten
2

Your handler setup looks different to that described in https://docs.aws.amazon.com/lambda/latest/dg/nodejs-handler.html - are you sure it's equivalent? I don't use node.js so can't tell for sure, but it looks a good place to start.

EXPERTE
beantwortet vor 2 Jahren
1
Akzeptierte Antwort

can you check if the path of the handler and location of the index file in the packaged code is same? You will get this error when the path of the handler and the location of index.js in the package is not the same.

Enter image description here

AWS
beantwortet vor 2 Jahren
1

I notice documentation always says "index.js" but you mentioned "Index.js". I have no idea if it's relevant but just in case ...

EXPERTE
beantwortet vor 2 Jahren
1

I think you packaged a zip file which does not contains the index.js in root of zip

The zip commands can give you a zip file containing another folder inside which contains the index js

Try to verify the content of package

beantwortet vor 2 Jahren
0

I replaced Index.js as follows:

exports.handler = function (event, context, callback) { . . .

but I got same error on cloudwatch.

2022-07-15T02:04:22.891Z undefined ERROR Uncaught Exception { "errorType": "Runtime.HandlerNotFound", "errorMessage": "index.handler is undefined or not exported", "stack": [ "Runtime.HandlerNotFound: index.handler is undefined or not exported", " at Object.module.exports.load (/var/runtime/UserFunction.js:283:11)", " at Object.<anonymous> (/var/runtime/index.js:43:34)", " at Module._compile (internal/modules/cjs/loader.js:1085:14)", " at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)", " at Module.load (internal/modules/cjs/loader.js:950:32)", " at Function.Module._load (internal/modules/cjs/loader.js:790:12)", " at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)", " at internal/main/run_main_module.js:17:47" ] }

beantwortet vor 2 Jahren

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