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

已提问 2 年前7911 查看次数
5 回答
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.

专家
已回答 2 年前
1
已接受的回答

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
已回答 2 年前
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 ...

专家
已回答 2 年前
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

已回答 2 年前
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" ] }

已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则