Лямбда-функция AWS: невозможно прочитать свойство 'source' из неопределенного - PullRequest
0 голосов
/ 22 мая 2019

Я внедрил панель мониторинга Daily Complaint & Bounce back для SES, выполнив следующие шаги:

  1. Создан SNS для получения отказов и жалоб.
  2. Созданная очередь SQS собирает уведомления об отказах и жалобах от Amazon SNS и передает их в функцию AWS Lambda для дальнейшей обработки.
  3. Создан контейнер S3, в котором хранятся информационные панели, сгенерированные функцией Lambda.
  4. Настроенные уведомления об отказах и жалобах в Amazon SES. Он будет хранить уведомления в SQS
  5. Создание лямбда-функции AWS. Функция обрабатывает уведомления о сбоях и жалобах в очереди Amazon SQS, создает новые панели мониторинга и отправляет их по электронной почте по указанным вами адресам.
  6. Сконфигурированные триггеры в Amazon CloudWatch, которые планируют запуск лямбда-функции по заданному вами расписанию.

Проблема: Когда срабатывает функция Lambda, становится ошибка ниже, и по электронной почте не появляется ежедневный отчет панели инструментов. А также не хранится приборная панель в ведре S3. Я использовал версию Node.js 6.10 и непосредственно загружал папку SESreport.zip.

Ошибка:

TypeError: Cannot read property 'source' of undefined
    at Response.sqs.receiveMessage (/var/task/index.js:128:42)
    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:364:18)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)
...