Подтвердить что ты не робот

Функция AWS Lambda возвращает обработчик обработчика, отсутствующий в модуле 'index'

Рассмотрим следующий код -

function index(event, context, callback) {
  //some code
}
exports.handler = index();

{
  "errorMessage": "Handler 'handler' missing on module 'index'"
}

Это моя функция, которая имеет бизнес-логику. Мое имя файла javascript index.js.

Всякий раз, когда я проверяю этот код на aws лямбда, он дает следующее log(failed).

Это скриншот сайта загрузки Amazon Lambda: введите описание изображения здесь

4b9b3361

Ответ 1

В export.handler вы не ссылаетесь на функцию index, а на результат ее выполнения. Я думаю, вы хотите экспортировать функцию.

let index = function index(event, context, callback) {
  //some code
}
exports.handler = index;

Или, может быть, непосредственно

exports.handler = function index(event, context, callback) {
  //some code
}

Ответ 2

Что вы можете сделать, так это объявить свою функцию как export.handler. Когда ваша функция экспортируется в лямбда, она поставляется с пространством имен.

exports.handler = function(event, context) {
    //code
}

Вы можете игнорировать обратный вызов, если хотите быстрый код.