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) . . . .

asked 2 years ago7804 views
5 Answers
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.

EXPERT
answered 2 years ago
1
Accepted Answer

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
answered 2 years ago
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 ...

EXPERT
answered 2 years ago
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

answered 2 years ago
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" ] }

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions