このページでは、ワークフロー自動化アクションカタログで利用可能なAWS Step Functionsアクションのリファレンスを提供します。これらのアクションを使用して、ワークフロー定義内からStep Functionsの実行とステートマシンを開始、停止、リドライブ、および検査します。
前提条件
ワークフロー自動化でAWS Step Functionsアクションを使用する前に、以下が用意されていることを確認してください。
- 適切な権限を持つ AWS アカウント。
- 設定された AWS 認証情報 (IAM ユーザー認証情報、IAM ロール ARN、またはセッション認証情報)。
- Step Functionsの操作に必要なIAM権限。
IAM ユーザーおよび IAM ロールを作成する方法、およびワークフロー オートメーションAWSアクションと統合するための静的 AWS 認証情報とセッションAWS認証情報を設定する方法については、 AWS認証情報のセットアップ」を参照してください。
必要なIAM権限
必要な権限は、ワークフローが呼び出すStep Functionsアクションによって異なります。以下の例を、7つのアクションすべてをカバーする最小権限ポリシーのテンプレートとして使用してください。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution", "states:StopExecution", "states:RedriveExecution", "states:DescribeExecution", "states:ListExecutions", "states:DescribeStateMachine", "states:ListStateMachines" ], "Resource": "arn:aws:states:<region>:<account-id>:*" } ]}重要
<region>と<account-id>を実際の値に置き換え、可能な場合はResourceを特定のステートマシンまたは実行ARNに制限してください。
Step Functionsの実行を開始します
アクション識別子はaws.stepFunctions.startExecutionです。
AWS Step Functionsステートマシンの実行を開始します。成功すると、新しい実行のexecutionArnを返します。これをaws.stepFunctions.describeExecutionに渡してステータスをポーリングできます。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
awsRoleArn | 弦 | オプション。 引き受けるIAMロールARN。推奨。両方を指定した場合は、キーベースの認証情報よりも優先されます。 |
|
awsAccessKeyId | 文字列(シークレット) | オプション。 AWSアクセスキーID。シークレットとして渡す必要があります。 |
|
awsSecretAccessKey | 文字列(シークレット) | オプション。 AWSシークレットアクセスキー。シークレットとして渡す必要があります。 |
|
awsSessionToken | 文字列(シークレット) | オプション。 一時的な認証情報のためのAWSセッショントークン。シークレットとして渡す必要があります。 |
|
リージョン | 弦 | 必須。 ステートマシンがデプロイされているAWSリージョン。 |
|
stateMachineArn | 弦 | 必須。 実行するステートマシンのARN。 |
|
name | 弦 | オプション。 実行名。ステートマシンごとに一意でなければなりません。省略された場合はUUIDとして自動生成されます。
ステートマシンでは、異なる入力で実行中の実行名を再利用すると
が返されます。
ステートマシンでは、名前をすぐに再利用できます。 |
|
input | 弦 | オプション。 実行への入力として渡すJSON文字列。 |
|
traceHeader | 弦 | オプション。 実行に伝播させるX-Rayトレースヘッダー。 |
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | AWS Step Functions APIからのレスポンス。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | 実行の開始に失敗した場合のエラーメッセージ。成功した場合は
。 |
以下の例では、修復の実行を開始し、ダウンストリームのステップのために実行ARNをキャプチャします。
ワークフローの例 |
|---|
|
Step Functionsの実行を停止します
アクション識別子はaws.stepFunctions.stopExecutionです。
実行中のStep Functionsの実行を停止します。停止すると、AWSは実行をABORTEDとしてマークします。
重要
このアクションは、STANDARDステートマシンでのみサポートされています。EXPRESS実行を停止することはできません。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
awsRoleArn | 弦 | オプション。 引き受けるIAMロールARN。推奨。両方を指定した場合は、キーベースの認証情報よりも優先されます。 |
|
awsAccessKeyId | 文字列(シークレット) | オプション。 AWSアクセスキーID。シークレットとして渡す必要があります。 |
|
awsSecretAccessKey | 文字列(シークレット) | オプション。 AWSシークレットアクセスキー。シークレットとして渡す必要があります。 |
|
awsSessionToken | 文字列(シークレット) | オプション。 一時的な認証情報のためのAWSセッショントークン。シークレットとして渡す必要があります。 |
|
リージョン | 弦 | 必須。 実行が行われているAWSリージョン。 |
|
executionArn | 弦 | 必須。 停止する実行のARN。 |
|
エラー | 弦 | オプション。 実行が停止された理由を説明する短いエラーコード。 |
|
cause | 弦 | オプション。 実行が停止された理由に関する、人間が読める形式の説明。 |
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | AWS Step Functions APIからのレスポンス。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | 実行の停止に失敗した場合のエラーメッセージ。成功した場合は
。 |
次の例では、SLAを超過した実行を中止します。
ワークフローの例 |
|---|
|
Step Functions実行の再実行
アクション識別子はaws.stepFunctions.redriveExecutionです。
失敗した、タイムアウトした、または中止されたStep Functionsの実行をリドライブし、最初からやり直すことなく、最後に失敗した状態から再開します。
重要
このアクションはSTANDARDステートマシンでのみサポートされています。実行を再実行できるのは、SUCCEEDEDしておらず、完了から14日以内で、履歴イベントが24,999個未満の場合のみです。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
awsRoleArn | 弦 | オプション。 引き受けるIAMロールARN。推奨。両方を指定した場合は、キーベースの認証情報よりも優先されます。 |
|
awsAccessKeyId | 文字列(シークレット) | オプション。 AWSアクセスキーID。シークレットとして渡す必要があります。 |
|
awsSecretAccessKey | 文字列(シークレット) | オプション。 AWSシークレットアクセスキー。シークレットとして渡す必要があります。 |
|
awsSessionToken | 文字列(シークレット) | オプション。 一時的な認証情報のためのAWSセッショントークン。シークレットとして渡す必要があります。 |
|
リージョン | 弦 | 必須。 実行されたAWSリージョン。 |
|
executionArn | 弦 | 必須。 リドライブする実行のARN。 |
|
clientToken | 弦 | オプション。 リドライブリクエストのべき等性トークン。省略された場合、SDKによって自動生成されます。 |
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | AWS Step Functions APIからのレスポンス。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | リドライブが失敗した場合のエラーメッセージ。成功した場合は
。 |
以下の例では、失敗した実行をリドライブして、最後に失敗した状態から再開します。
ワークフローの例 |
|---|
|
Step Functionsの実行を記述する
アクション識別子はaws.stepFunctions.describeExecutionです。
Step Functionsの実行のステータス、入力、出力、およびタイムスタンプを返します。このアクションを使用して、aws.stepFunctions.startExecutionによって開始された実行の結果をポーリングします。
重要
このアクションは、STANDARDステートマシンの実行を直接サポートします。Map RunがディスパッチしたEXPRESS実行のみを記述できます。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
awsRoleArn | 弦 | オプション。 引き受けるIAMロールARN。推奨。両方を指定した場合は、キーベースの認証情報よりも優先されます。 |
|
awsAccessKeyId | 文字列(シークレット) | オプション。 AWSアクセスキーID。シークレットとして渡す必要があります。 |
|
awsSecretAccessKey | 文字列(シークレット) | オプション。 AWSシークレットアクセスキー。シークレットとして渡す必要があります。 |
|
awsSessionToken | 文字列(シークレット) | オプション。 一時的な認証情報のためのAWSセッショントークン。シークレットとして渡す必要があります。 |
|
リージョン | 弦 | 必須。 実行されたAWSリージョン。 |
|
executionArn | 弦 | 必須。 記述する実行のARN。 |
|
includedData | イナム | オプション。 実行定義を返すかどうかを制御します。
権限が利用できない場合に定義の復号をスキップするには、
を使用します。デフォルトは
です。 |
または
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | AWS Step Functions APIからの実行の詳細。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | リクエストが失敗した場合のエラーメッセージです。成功した場合は
。 |
次の例では、実行のステータスをポーリングし、ダウンストリームステップ用に出力をキャプチャします。
ワークフローの例 |
|---|
|
Step Functionsの実行を一覧表示する
アクション識別子はaws.stepFunctions.listExecutionsです。
AWS Step Functionsステートマシンまたはマップ実行の実行を一覧表示し、オプションでステータスによってフィルタリングします。結果は最新のものから順にソートされます。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
awsRoleArn | 弦 | オプション。 引き受けるIAMロールARN。推奨。両方を指定した場合は、キーベースの認証情報よりも優先されます。 |
|
awsAccessKeyId | 文字列(シークレット) | オプション。 AWSアクセスキーID。シークレットとして渡す必要があります。 |
|
awsSecretAccessKey | 文字列(シークレット) | オプション。 AWSシークレットアクセスキー。シークレットとして渡す必要があります。 |
|
awsSessionToken | 文字列(シークレット) | オプション。 一時的な認証情報のためのAWSセッショントークン。シークレットとして渡す必要があります。 |
|
リージョン | 弦 | 必須。 実行を一覧表示するAWSリージョン。 |
|
stateMachineArn | 弦 | オプション。 実行を一覧表示するステートマシンのARN。これまたは
のいずれかを指定してください。両方は指定できません。
ステートマシンは直接一覧表示できません — 代わりに
を使用して、分散マップから子実行を一覧表示してください。 |
|
mapRunArn | 弦 | オプション。 子実行を一覧表示するマップ実行のARN。これまたは
のいずれかを指定してください。両方を指定することはできません。
を使用する際に必須です。 |
|
statusFilter | イナム | オプション。 ステータスで実行をフィルタリングします。
には
が必要です。 |
|
|
|
|
|
|
最大結果 | Int | オプション。 返す実行の最大数。デフォルトは100、最大は1,000です。 |
|
nextToken | 弦 | オプション。 以前の呼び出しの
からのページネーショントークン。24時間後に有効期限が切れます。 |
|
redriveFilter | イナム | オプション。 再実行されたかどうかで実行をフィルタリングします。 |
または
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | AWS Step Functions APIからの実行のリスト。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | リクエストが失敗した場合のエラーメッセージです。成功した場合は
。 |
以下の例では、ステートマシンで現在実行されている実行を一覧表示します。
ワークフローの例 |
|---|
|
ステートマシンの記述
アクション識別子はaws.stepFunctions.describeStateMachineです。
AWS Step Functionsステートマシンの定義、IAMロール、ログ設定、タイプ(STANDARDまたはEXPRESS)、およびステータスを返します。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
awsRoleArn | 弦 | オプション。 引き受けるIAMロールARN。推奨。両方を指定した場合は、キーベースの認証情報よりも優先されます。 |
|
awsAccessKeyId | 文字列(シークレット) | オプション。 AWSアクセスキーID。シークレットとして渡す必要があります。 |
|
awsSecretAccessKey | 文字列(シークレット) | オプション。 AWSシークレットアクセスキー。シークレットとして渡す必要があります。 |
|
awsSessionToken | 文字列(シークレット) | オプション。 一時的な認証情報のためのAWSセッショントークン。シークレットとして渡す必要があります。 |
|
リージョン | 弦 | 必須。 ステートマシンがデプロイされているAWSリージョン。 |
|
stateMachineArn | 弦 | 必須。 記述するステートマシンのARN。バージョンARNも受け付けます。 |
|
includedData | イナム | オプション。 ステートマシンの定義の返却をスキップし、定義がKMSで暗号化されている場合に
を不要にするには、
を使用します。デフォルトは
です。 |
または
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | AWS Step Functions APIからのステートマシンの詳細。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | リクエストが失敗した場合のエラーメッセージです。成功した場合は
。 |
以下の例では、ステートマシンのタイプと定義を取得します。
ワークフローの例 |
|---|
|
ステートマシンの一覧
アクション識別子はaws.stepFunctions.listStateMachinesです。
アカウントおよびリージョン内のAWS Step Functionsステートマシンを一覧表示します。大きな結果セットを取得するには、ページネーション入力を使用します。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
awsRoleArn | 弦 | オプション。 引き受けるIAMロールARN。推奨。両方を指定した場合は、キーベースの認証情報よりも優先されます。 |
|
awsAccessKeyId | 文字列(シークレット) | オプション。 AWSアクセスキーID。シークレットとして渡す必要があります。 |
|
awsSecretAccessKey | 文字列(シークレット) | オプション。 AWSシークレットアクセスキー。シークレットとして渡す必要があります。 |
|
awsSessionToken | 文字列(シークレット) | オプション。 一時的な認証情報のためのAWSセッショントークン。シークレットとして渡す必要があります。 |
|
リージョン | 弦 | 必須。 ステートマシンを一覧表示するAWSリージョン。 |
|
最大結果 | Int | オプション。 返すステートマシンの最大数。デフォルトは100、最大は1,000です。 |
|
nextToken | 弦 | オプション。 以前の呼び出しの
からのページネーショントークン。24時間後に有効期限が切れます。 |
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | AWS Step Functions APIからのステートマシンのリスト。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | リクエストが失敗した場合のエラーメッセージです。成功した場合は
。 |
次の例では、アカウント内のステートマシンを一覧表示し、ダウンストリームステップのために結果をキャプチャします。
ワークフローの例 |
|---|
|
次のステップ
AWSアクションとワークフロー自動化の作業を続けるには、以下のリソースを参照してください。
- AWS認証情報のセットアップ:AWSアクションで使用するIAMロールとアクセスキーを設定します。
- AWS Execute API: 専用のアクションが利用できない場合に、任意のAWS APIを直接コールします。
- ワークフローの例:AWSアクションを使用した実際のワークフローの例を参照してください。