Шаг Функция: Подождите - как долго это может продолжаться? - PullRequest
0 голосов
/ 18 января 2019

Я не смог найти ответы на свои вопросы в документации AWS.

Можно ли выполнить 100 000 (приблизительных) пошаговых функций, и штат ожидает WAIT до 3 месяцев? Состояние ожидания будет проверяться каждые 30 минут, в противном случае оно выйдет из состояния через 2 месяца.

Состояние ожидания выполнит лямбда-функцию - она ​​проверит, соответствует ли поле (динамодаб) условию, прежде чем переходить в следующее состояние.

Мне нравится знать, есть ли какие-либо ограничения?

Если состояние WAIT не подходит, что является альтернативой?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Да, состояние вашего 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.Оба будут дешевле, чем пошаговые функции.

0 голосов
/ 18 января 2019

Исполнения могут существовать до 1 года в соответствии с документацией AWS.Максимальное количество казней на один аккаунт составляет 1 000 000.

...