Параллельные состояния Объединить выходные данные в пошаговой функции - PullRequest
0 голосов
/ 09 января 2019

Возможно ли иметь следующий вид графика пошаговой функции, то есть из двух параллельных выходов состояния, одного комбинированного состояния:

enter image description here

Если да, как будет выглядеть json для этого? Если нет, то почему?

Ответы [ 2 ]

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

Это возможно в противоположность приведенной ниже схеме

enter image description here

Параллельное состояние должно выглядеть следующим образом

"MyParallelState": {
  "Type": "Parallel",
  "InputPath": "$",
  "OutputPath": "$",
  "ResultPath": "$.ParallelResultPath",
  "Next": "SetCartCompleteStatusState",
  "Branches": [
    {
      "StartAt": "UpdateMonthlyUsageState",
      "States": {
        "UpdateMonthlyUsageState": {
          "Type": "Task",
          "InputPath": "$",
          "OutputPath": "$",
          "ResultPath": "$.UpdateMonthlyUsageResultPath",
          "Resource": "LambdaARN",
          "End": true
        }
      }
    },
    {
      "StartAt": "QueueTaxInvoiceState",
      "States": {
        "QueueTaxInvoiceState": {
          "Type": "Task",
          "InputPath": "$",
          "OutputPath": "$",
          "ResultPath": "$.QueueTaxInvoiceResultPath",
          "Resource": "LambdaARN",
          "End": true
        }
      }
    }

Выходные данные MyParallelState будут заполняться как в массиве, из каждого состояния в Parallel state. Они заполняются в ParallelResultPath объекте и будут переданы в следующее состояние

{
  "ParallelResultPath": [
    {
      "UpdateMonthlyUsageResultPath": Some Output
    },
    {
      "QueueTaxInvoiceResultPath": Some Output
    }
  ]
}
0 голосов
/ 14 января 2019

Ваша диаграмма технически неверна, потому что ни одно состояние не может установить несколько состояний для своей задачи Next. Вы не можете запустить State Machine как StartAt, указав несколько имен состояний. Кроме того, даже если бы это было возможно, я не вижу смысла, почему вы хотите запускать два параллельных состояния, а не одно параллельное состояние со всеми вложенными состояниями, которые вы бы разбили на два.

...