AWS Step function Вызов лямбды в цикле - PullRequest
0 голосов
/ 17 октября 2018

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

Я могу достичь этого потока с помощью шаблона «Итерация» (https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-create-iterate-pattern-section.html)

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

Я хотел бы знать, есть ли способ сделать вызов лямбды в цикле асинхронным ичто последний шаг может дождаться завершения всего лямбда-экземпляра и продолжения дальнейшей обработки.

1 Ответ

0 голосов
/ 17 октября 2018

Мне кажется, что вы ищете состояние parallel: https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-parallel-state.html

Это позволит вам передавать массив строк и запускать все лямбда-выражения параллельно.Ответы затем будут рекомбинированы, очень похоже на promise.all() в узле.

...