#amazon-web-services #aws-step-functions
Вопрос:
Я обнаружил, что документация по ценообразованию неоднозначна в отношении состояний карты, которые разветвляются на основе массива во входных данных. Кто-нибудь знает, считается ли каждый разветвитель «переходом в состояние» стоимостью 0,025 доллара? Вот пример ввода и определения конечного автомата для справки.
Ввод:
{ "data": [
// Is each of these going to be a "state transition"?
{ "name": "a" },
{ "name": "b" },
] }
Определение:
{
"StartAt": "Start",
"States": {
"Start": {
"Type": "Map",
"ItemsPath": "$.data",
"End": true,
"Iterator": {
"StartAt": "Monitor",
"States": {
"Monitor": {
"Type": "Task",
"Resource": "some-lambda",
"End": true
}
}
}
}
}
}
Комментарии:
1. Извините, мой предыдущий ответ был неправильным. Я обновил свой ответ на основе ответа, полученного от команды AWS Step Functions. Короче говоря, стоимость примерно в 2 раза меньше, чем мой первоначальный ответ.
Ответ №1:
Стоимость переходов состояний пошаговых функций составляет:
$0,000025 ЗА ПЕРЕХОД ШТАТА ПОСЛЕ ЭТОГО
$0,025 за 1000 переходов в состояние
С помощью функций AWS Step вы платите за количество переходов состояний. Итак, давайте посмотрим, сколько переходов состояний создаст карта состояний.
Функции AWS Step взимают плату с клиентов только за события, которые заканчиваются Entered
Для каждого состояния карты у нас есть по крайней мере эти 4 перехода в состояние:
- MapStateEntered (считается переходом в состояние)
- Начато отображение (Не учитывается)
- Данные карты получены (Не учитываются)
- MapStateExited (Не учитывается)
И для каждой итерации состояния карты у нас есть эти 2 перехода в состояние:
- Начато отображение (Не Засчитывается)
- Заполнение карт завершено (Не засчитывается)
Таким образом, для состояния карты мы можем предположить, что стоимость определяется:
стоимость = (1 итерации * (шаги внутри итерации) ) * $0,000025
Таким образом, для вашего примера (выполнение с состоянием карты с 2 итерациями) накладные расходы на состояние карты составляют:
переходы: 1 2*1 = 3
стоимость: 3 * 0,000025 = $0,000075