Да, состояние вашего State Machine (SM) Wait
может подождать до 1 года.Однако количество SM, которые вы собираетесь запустить в течение двух месяцев, было бы очень дорогим решением.
Вы намереваетесь запустить 100 000 SM, и состояние ожидания каждого SM будет выполнять лямбда-выражение через каждые 30 мин.Существует вероятность того, что все 100 000 SM работают в течение двух месяцев.
При условии, что все SM работают в течение 2 месяцев, общее количество транзакций будет:
1 SM = 96 транзакций (Подождите доЛямбда, лямбда ждать) в день.5760 transactions in 2 months
за SM.
100,000 SM = 5760 * 100,000 = 576000000 transactions
First 4000 transactions are free so total transactions = 576000000 - 4000 = 575996000
$ 0,000025 за транзакции после первых 4000:
575996000 * 0.000025 = $14399.9 in two months.
$ 0,000025 - самый дешевый , может быть больше в зависимости от вашего региона.
Также существует риск того, что каждая история выполнения SM попадет в предел 25 000 .
Я бы предложил использовать либо Событие расписания CloudWatch для запуска Lambda каждые 30 минут для проверки поля в таблице DynamoDB, либо использовать Потоки DynamoDB для запуска Lambda для проверки поля,Как только состояние соответствует, вы можете выполнить SM.Оба будут дешевле, чем пошаговые функции.