Есть ли способ предотвратить лямбда-поток при запуске DynamoDB при каждом изменении DynamoDB?
Поток DynamoDB настроен для запуска лямбда-функции. Лямбда находится в конце пошаговой функции, а таблица DynamoDB обновляется в нескольких местах по всей пошаговой функции. Но это не те обновления, которые нужны лямбде из потока. Таким образом, он преждевременно запускает лямбду, прежде чем лямбда должна его вызвать, и заставляет лямбду срабатывать несколько раз в течение всего действия функции шага. Это вызывает всевозможные проблемы.
Одно очень конкретное изменение в таблице DynamoDB - это то, что необходимо для запуска лямбда-выражения. Это изменение происходит не от пошаговой функции, а от пользовательского интерфейса через GraphQL. Лямбда должна иметь возможность запускаться как в конце функции шага, так и всякий раз, когда это изменение происходит в пользовательском интерфейсе.
По сути, есть два сценария, когда лямбда должна запускаться: 1) в конце функции шага и 2) когда таблица DynamoDB обновляется в пользовательском интерфейсе, минуя функцию шага.
Я пишу код, который останавливает лямбда-выполнение, если это не желаемое изменение DynamoDB, но это кажется неправильным ... не хочу, чтобы он постоянно вызывался, если в этом нет необходимости. В жизненном цикле функции шага таблица DynamoDB может изменяться несколько раз, прежде чем она достигнет лямбды.
Эти числа не точны, но, скажем, функция шага будет выполняться 10 раз подряд, а затемон обновит DynamoDB 3 раза. Это в 30 раз больше лямбды, прежде чем функция шага когда-либо запускает лямбду, как это и должно быть. Есть ли способ предотвратить эти лямбда-вызовы?