翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Step Functions で Task 状態からワークフロー実行を開始する
AWS Step Functions は、ステートマシンTaskの状態から直接ワークフロー実行を開始できます。これにより、ワークフローを小さなステートマシンに分割し、これらの他のステートマシンの実行を開始できます。これらの新しいワークフロー実行を開始することで、以下のことが可能になります。
- 
      高レベルのワークフローを、低レベルのタスク固有のワークフローから分離する。 
- 
      別のステートマシンを複数回呼び出すことによって、要素が繰り返されるのを回避する。 
- 
      モジュール式の再利用可能なワークフローのライブラリを作成して、開発を迅速化する。 
- 
      複雑さを軽減し、ステートマシンの編集とトラブルシューティングを容易にする。 
Step Functions は、独自の API を統合サービスとして呼び出して、これらのワークフロー実行をスタートできます。Task 状態から StartExecution API アクションを呼び出し、必要なパラメータを渡すだけです。サービス統合パターンのいずれかを使用する Step Functions API を呼び出すことができます。
ヒント
ネストされたワークフローの例をデプロイするには、「 AWS Step Functions ワークショップ」の「コストの最適化
ステートマシンの新しい実行を開始するには、次の例のような Task 状態を使用します。
{  
   "Type":"Task",
   "Resource":"arn:aws:states:::states:startExecution",
   "Parameters":{  
      "StateMachineArn":"arn:aws:states:region:account-id:stateMachine:HelloWorld",
      "Input":{  
         "Comment":"Hello world!"
      },
   },
   "Retry":[  
      {  
        "ErrorEquals":[  
            "StepFunctions.ExecutionLimitExceeded"
        ]
      }
   ],
   "End":true
}この Task 状態は、HelloWorld ステートマシンの新しい実行を開始し、JSON コメントを入力として渡します。
注記
StartExecution API アクションクォータでは、開始できる実行の数を制限できます。StepFunctions.ExecutionLimitExceeded で Retry を使用して、実行が確実に開始されるようにします。以下を参照してください。
ワークフロー実行の関連付け
開始されたワークフロー実行を開始された実行に関連付けるには、コンテキストオブジェクトの実行 ID を実行入力に渡します。実行中の実行で、 Task 状態から Context オブジェクトから ID にアクセスできます。パラメータ名.$に を追加して実行 ID を渡し、 でコンテキストオブジェクトの ID を参照します$$.Execution.Id。
"AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"実行を開始するときに、AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID という特別なパラメータを使用できます。含まれている場合は、この関連付けは Step Functions コンソールの [Step details] (ステップ詳細) セクションでリンクを提供します。指定すると、ワークフローの実行を、実行の開始から、開始したワークフロー実行まで簡単にトレースできます。前の例を使用して、次のように実行 ID を HelloWorld ステートマシンの開始した実行に関連付けます。
{  
   "Type":"Task",
   "Resource":"arn:aws:states:::states:startExecution",
   "Parameters":{  
      "StateMachineArn":"arn:aws:states:region:account-id:stateMachine:HelloWorld",
      "Input": {
        "Comment": "Hello world!",
        "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"
       }
   },
   "End":true
}詳細については、次を参照してください。