Перенаправьте данные в потоке Kinesis в функцию Lambda

#aws-lambda #triggers #amazon-kinesis

Вопрос:

Сейчас у меня есть очень простая Лямбда, которая запускается Kinesis, и все это подключено и работает нормально…но я хочу проработать случай, когда я обнаружил ошибку в своем лямбда-коде и мне нужно повторно запустить данные, которые все еще доступны в потоке (мой поток настроен на сохранение данных в течение 7 дней).

Есть ли простой способ сделать это? Я надеялся, что в консоли будет что-то, чтобы «сбросить» положение последовательности для лямбды, но я не смог этого найти.

Один из методов, который я протестировал, состоит в том, чтобы удалить исходный триггер и добавить новый с позицией как TRIM_HORIZON , но интересно, есть ли более простой способ сделать это (мой исходный триггер был настроен без LATEST ).

Ответ №1:

Если вам нужно повторно обработать все данные из потока Kinesis, нет другого способа, кроме воссоздания триггера.

STARTING_POSITION невозможно обновить существующие триггеры. Только определенные свойства могут быть обновлены с помощью команды UpdateEventSourceMapping.

Обновление STARTING_POSITION в EventSourceMapping повлияет на контрольные точки фиксации в Kinesis, поскольку оно определяет, сколько записей обрабатывается и где фиксируется текущая позиция. Всякий раз, когда создается новый триггер, он начинает проверять обработку записей с помощью Kinesis.