У меня есть простая лямбда-функция, которая запускается из очереди SQS, и я использую новую функцию Лямбда-адресаты .
Она настроена на запуск с QUEUE_A
, выполните некоторые модификации тела полезной нагрузки, а затем отправьте его по адресу QUEUE_B
при success или QUEUE_ERRORS
при fail .
QUEUE_B
и QUEUE_ERRORS
установлены как Направления в функции лямбда-функции.
Когда я запускаю лямбду из CLI, я получаю запись о QUEUE_B
с хорошей записью и QUEUE_ERRORS
с плохой записью. Так что, похоже, работает.
Но, когда лямбда запускается из SQS, я никогда не получаю запись о QUEUE_B
или QUEUE_ERRORS
. Хорошая запись запускает лямбду, а на плохой записи - QUEUE_A_DEADLETTER
, что мне не нужно.
Я попытался настроить QUEUE_A
, чтобы не было повторов / тупиков - если я это сделаю, на плохой записи он будет повторяться вечно (независимо от того, насколько низко я установил видимость / повторы).
Что я могу попробовать дальше?
РЕДАКТИРОВАТЬ :
CloudWatch показывает мне именно то, что я ожидаю увидеть - я вижу хорошие журналы на «хорошей» записи и складываю трассы / исключения на «плохих» записях, так что это не проблема внутри самой функции AFAIK.
РЕДАКТИРОВАТЬ : замена триггеров и назначений SQS на триггеры и назначения SNS работают. Итак, я думаю, это связано с тем, что SQS является syn c, а SNS - asyn c? Кто-нибудь знает?