У меня есть сценарий использования, где мне нужно реализовать следующую логику для цикла:
For-Each Users
Get user libraries
For-Each Libraries
Get library items
For-Each Item
do stuff;
Каждый Get
запрос выше делает HTTP-вызов к веб-службе и может привести к сбою. Каждый Get
запрос может быть разбит на страницы.
Какова рекомендуемая наилучшая практика для реализации вышеизложенного с использованием AWS Lambda? Помните, что общее количество элементов может превышать общий объем доступной памяти и должно обрабатываться в потоковом режиме.
Моя первая мысль - реализовать вышесказанное как лямбда-цепочку, соединенную очередями SQS.
GetUsers-L --> UsersQ --> GetLibraries-L --> LibrariesQ --> GetItems-L --> ItemsQ --> ProcessItem-L
С каждой очередью будет связана очередь deadletter и политика повторного запуска для повторной попытки запроса в случае сбоя.
Что бы вы посоветовали для реализации вышеизложенного с помощью AWS?