統合サービスとして AWS Step Functions 実行を管理する - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

統合サービスとして AWS Step Functions 実行を管理する

Step Functions は、サービス統合として独自の API と統合します。これにより、Step Functions は、実行中のタスク状態から直接ステートマシンの新しい実行を開始できます。新しいワークフローを構築するときに、ネストされたワークフロー実行を使用して、メインワークフローの複雑さを軽減し、一般的なプロセスを再利用します。

最適化されたStep Functions 統合とステップ関数の違いAWSSDK統合

最適化がないことに注意してください、リクエストレスポンスまたはタスクトークンのコールバックまで待機する統合パターン。

詳細については、以下を参照してください。

サポートされている Step Functions API および構文:

以下には、別のステートマシンの実行を開始し、その完了を待機する Task 状態が含まれています。

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync:2", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

以下には、別のステートマシンの実行を開始する Task 状態が含まれています。

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

以下には、が含まれます。Taskを実装するコールバックサービス統合パターン。

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.waitForTaskToken", "Parameters":{ "Input":{ "Comment": "Hello world!", "token.$": "$$.Task.Token" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

ネストされたワークフロー実行を、それを開始した親実行に関連付けるには、コンテキストオブジェクトからプルされた実行 ID を含む特別な名前のパラメータを渡します。ネストされた実行を開始するときは、AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID という名前のパラメータを使用します。パラメータ名に .$ を追加し、$$.Execution.Id を使用してコンテキストオブジェクトの ID を参照することで、実行 ID を渡します。詳細については、「コンテキストオブジェクトへのアクセス」を参照してください。

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync", "Parameters":{ "Input":{ "Comment": "Hello world!", "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

ネストされたステートマシンは、以下を返します。

リソース 出力
startExecution.sync 文字列
startExecution.sync:2 JSON

どちらもネストされたステートマシンが完了するのを待機しますが、異なる Output 形式を返します。たとえば、オブジェクトを返す Lambda 関数を作成すると、{ "MyKey": "MyValue" }を使用すると、次の応答が得られます。

startExecution.sync の場合:

{ <other fields> "Output": "{ \"MyKey\": \"MyValue\" }" }

startExecution.sync:2 の場合:

{ <other fields> "Output": { "MyKey": "MyValue" } }

他のででを使用してを設定する方法については、「Step Functions」を設定する方法の詳細については、AWSサービスの詳細については、」統合サービスの IAM ポリシー