2017-12-21 17 views
1

私はARNに複数の入力を渡す方法を理解しようとしています。しかし、私はそれを行うことはできないようです。複数のARNに入力を渡す方法(awsステップ関数)

以下は私のマシンの仕様

{ 
    "StartAt": "DemoStateFunction", 
    "Version": "1.0", 
    "States": { 
     "DemoStateFunction": { 
      "Type": "Task", 
      "Resource": "ARN-Demo-Function", 
      "InputPath": "$.demostate1", 
      "Next": "DemoStateFunction2" 
     }, 
     "DemoStateFunction2": { 
      "Type": "Task", 
      "Resource": "ARN-Demo-Function", 
      "InputPath": "$.demostate2", 
      "End": true   
     } 
    } 
} 

であり、これは私の入力

{ 
    "demostate1": { 
     "data": "john", 
    }, 
    "demostate2": { 
     "data": "doe" 
    } 
} 

このタスクを実行します。私のdemostate1データを正常に取得していますが、 "TaskStateEntered"の手順でdemostate2を見ることができません。

+0

DemoStateFunctionで実行されるラムダがdemostate2の値を返していますか? –

+0

hi chris。いいえ。 demostate2の値は返されません(少なくとも私のシナリオでは)それは必要ありません。 – Randolf

答えて

1

マシン状態データはある状態から別の状態に渡されます。

タスクからデータを返し、状態にResultPathプロパティを指定しないと、タスクの出力は次の状態の入力になります。これがあなたのdemostate2が失われている場所です。

から:http://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-input-output-processing.html

タスク結果(次のタスクへの入力となる)状態の出力として沿って送られます。これは、タスクから結果を受け取り、中にそれをマージし

"DemoStateFunction": { 
     "Type": "Task", 
     "Resource": "ARN-Demo-Function", 
     "InputPath": "$.demostate1", 
     "ResultPath": "$.demooutput1", 
     "Next": "DemoStateFunction2" 
    }, 

だから、あなたはあなたのDemoStateFunction状態でこのようなものを使用することにより、入力データにDemoStateFunctionから結果をマージしたいと思います既存の入力構造はdemooutput1プロパティの下にあります。

関連する問題