Создание эскиза в сегменте S3 с помощью лямбда-функции

#amazon-web-services #amazon-s3 #aws-lambda

#amazon-веб-сервисы #amazon-s3 #aws-lambda

Вопрос:

Я впервые изучал Lambda и использовал учебное пособие по AWS Lambda: Учебное пособие: использование AWS Lambda с Amazon S3 — AWS Lambda

У меня это даже не работает для файла размером 60 КБ. Это все, что я сделал:

  • Создал 2 корзины, загрузил исходный файл в исходную корзину (67 КБ), назвал его HappyFace.jpg .
  • Создана роль Lambda
  • Я смог создать лямбда-функцию, выполнив команду CLI
  • Я смог создать output.txt , НО на этом шаге output.txt файл создается, но он недействителен (0 КБ), также ручной вызов не создает миниатюру в моем целевом ведре.

Поскольку тест ручного вызова не работает, всякий раз, когда я загружаю новое изображение в свою корзину src, больше ничего не происходит.

Я использую эмулятор cygwin Linux на своем ноутбуке с Windows 10, используя последнюю node.js версия 12.x и использование CLI ver1.x (пытался обновить его до версии 2.x, но безуспешно, я новичок в Linux).

Я только что сдал экзамен AWS Architect Associate, и у меня лихорадка AWS, хе-хе, я просто не могу выкинуть эту ошибку из головы, я хочу заставить это работать. Я подозреваю, что с моим файлом должна быть проблема index.js

Вы можете помочь?

Комментарии:

1. Какие журналы для выполнения лямбда-функции хранятся в журналах CloudWatch? Есть ли там какие-либо ошибки?

2. Приветствую, Тамас, большое спасибо за ответ! Прошлой ночью я снова воссоздал сценарий, на этот раз я сделал так, как указано в документе, в регионе us-west-2 я создал 2 корзины, одну «исходную корзину», а другую «исходную корзину с измененным размером». это то, что я вижу в журналах: 2020-09-28T23:50:15.228Z неопределенная ОШИБКА Неперехваченное исключение {«ErrorType»:»Время выполнения. HandlerNotFound», «ErrorMessage»: «index.handler не определен или не экспортирован», «stack»:

3. всякий раз, когда я вручную вызываю лямбда-функцию, создается выходной файл, но там он имеет размер 0 байт, в основном создается пустой файл, а изображение, которое находится в исходном корзине, не изменяется и добавляется в исходную корзину «-resized»

4. функция создается, я вижу ее в своей консоли, но ручной вызов ничего не делает. вот что отображается в приглашении: ~/lambda-s3 $ aws lambda invoke —function-name CreateThumbnail —событие типа вызова > —полезная нагрузка file://inputFile.txt outputfile.txt { «Код состояния»: 202 }

5. Ошибка index.handler not found является ключевой здесь. Похоже, что Lambda не может найти вашу функцию. index.handler означает, что он выглядит следующим образом index.js файл и пытается найти экспортированный «обработчик». В примере проекта это выглядит так: exports.handler = async (событие, контекст, обратный вызов) => {…} . Есть ли у вас это в вашем index.js и совпадают ли эти имена?