AWS Step Functions
開発者ガイド

Step Functions で Amazon ECS または Fargate タスクを管理する

Step Functions can control certain AWS services directly from the Amazon ステートメント言語. For more information, see:

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

注記

Parameters in Step Functions are expressed in PascalCase, even when the native service API is camelCase.

注記

Overrides パラメータで、Step Functions は、executionRoleArntaskRoleArnContainerOverrides としてサポートしていません。

Amazon ECS タスクにデータを渡す

Step Functions can control certain AWS services directly from the Amazon ステートメント言語. For more information, see:

overrides を使用することで、コンテナのデフォルトコマンドを上書きし、入力を Amazon ECS タスクに渡すことができます。「ContainerOverride」を参照してください。この例では、JsonPath を使用して、入力のタスクの値をタスク状態に渡します。

以下には、Amazon ECS タスクを実行し、完了するまで待機する Task が含まれます。

{ "StartAt": "Run an ECS Task and wait for it to complete", "States": { "Run an ECS Task and wait for it to complete": { "Type": "Task", "Resource": "arn:aws:states:::ecs:runTask.sync", "Parameters": { "Cluster": "cluster-arn", "TaskDefinition": "job-id", "Overrides": { "ContainerOverrides": [ { "Name": "container-name", "Command.$": "$.commands" } ] } }, "End": true } } }

ContainerOverrides"Command.$": "$.commands" 行は状態の入力からコンテナにコマンドを渡します。​

前述の例は、実行への入力が以下の場合です。

{ "commands": [ "test command 1", "test command 2", "test command 3" ] }

以下には Amazon ECS タスクを実行する Task 状態が含まれ、その後タスクトークンが返されるまで待機します。「タスクトークンのコールバックまで待機する」を参照してください。

{ "StartAt":"Manage ECS task", "States":{ "Manage ECS task":{ "Type":"Task", "Resource":"arn:aws:states:::ecs:runTask.waitForTaskToken", "Parameters":{ "LaunchType":"FARGATE", "Cluster":"cluster-arn", "TaskDefinition":"job-id", "Overrides":{ "ContainerOverrides":[ { "Name":"container-name", "Environment":[ { "Name":"TASK_TOKEN_ENV_VARIABLE", "Value.$":"$$.Task.Token" } ] } ] } }, "End":true } } }

For information on how to configure IAM when using Step Functions with other AWS services, see 統合サービスの IAM ポリシー.

このページの内容: