Как оцениваются состояния карты в пошаговых функциях AWS?

#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