AWS Step Functions 呼び出しアクションリファレンス - AWS CodePipeline

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

AWS Step Functions 呼び出しアクションリファレンス

次の処理を実行する AWS CodePipeline アクション。

  • パイプラインから AWS Step Functions ステートマシンの実行を開始します。

  • アクション設定のプロパティ、または入力として渡されるパイプラインアーティファクトにあるファイルのいずれかを使用して、ステートマシンに初期状態を提供します。

  • オプションで、アクションから発生した実行を識別するための実行 ID プレフィックスを設定します。

  • 標準および Express ステートマシンをサポートします。

注記

Step Functions アクションは Lambda で実行するため、Lambda 関数のアーティファクトサイズクォータと同じアーティファクトサイズクォータが適用されます。詳細については、「Lambda デベロッパーガイド」の「Lambda クォータ」を参照してください。

アクションタイプ

  • カテゴリ:Invoke

  • 所有者: AWS

  • プロバイダー: StepFunctions

  • バージョン: 1

設定パラメータ

StateMachineArn

必須: はい

呼び出されるステートマシンの Amazon リソースネーム (ARN)。

ExecutionNamePrefix

必須:いいえ

デフォルトでは、アクション実行 ID がステートマシンの実行名として使用されます。プレフィックスが指定されている場合は、アクション実行 ID の先頭にハイフンが付加され、ステートマシンの実行名として使用されます。

myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791

Express ステートマシンの場合、名前には 0~9、A~Z、a~z、- および _ のみを含める必要があります。

InputType

必須:いいえ

  • [Literal (リテラル)] (デフォルト): 指定すると、[Input (入力)] フィールドの値がステートマシンの入力に直接渡されます。

    リテラルを選択した場合の、Input フィールドの入力例。

    {"action": "test"}
  • [FilePath] : [Input (入力)] フィールドで指定された入力アーティファクトのファイルの内容が、ステートマシン実行の入力として使用されます。[InputType] タイプが [FilePath] に設定されているときは、入力アーティファクトが必要です。

    リテラル を選択した場合の、Input フィールドの入力例。

    assets/input.json
入力

必須: 条件による

  • [Literal (リテラル)] : [InputType] が [Literal (リテラル)] (デフォルト) に設定されている場合、このフィールドはオプションです。

    指定されている場合、[入力] フィールドはステートマシン実行の入力として直接使用されます。それ以外の場合は、空の JSON オブジェクト {} を使用してステートマシンが呼び出されます。

  • [FilePath] : [InputType] が [FilePath] に設定されている場合、このフィールドは必須です。

    [InputType] が [FilePath] に設定されている場合は、入力アーティファクトも必須です。

    指定された入力アーティファクトのファイルの内容は、ステートマシン実行の入力として使用されます。

入力アーティファクト

  • アーティファクトの数: 0 to 1

  • 説明: [InputType] が [FilePath] に設定されている場合、このアーティファクトは必須であり、ステートマシンの実行のための入力のソースに使用されます。

出力アーティファクト

  • アーティファクトの数: 0 to 1

  • 説明:

    • 標準ステートマシン: 指定すると、出力アーティファクトには、ステートマシンの出力が入力されます。これは、ステートマシンの実行が正常に終了した後、ステップ関数 DescribeExecution API 応答のoutput プロパティから取得できます。

    • Express ステートマシン: サポートされていません。

出力変数

このアクションにより、パイプライン内のダウンストリームアクションのアクション設定によって参照できる出力変数が生成されます。

詳細については、「変数リファレンス」を参照してください。

StateMachineArn

ステートマシンの ARN。

ExecutionArn

ステートマシンの実行の ARN。標準ステートマシンのみ。

アクション設定の例

デフォルト入力の例

YAML
Name: ActionName ActionTypeId: Category: Invoke Owner: AWS Version: 1 Provider: StepFunctions OutputArtifacts: - Name: myOutputArtifact Configuration: StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine ExecutionNamePrefix: my-prefix
JSON
{ "Name": "ActionName", "ActionTypeId": { "Category": "Invoke", "Owner": "AWS", "Version": 1, "Provider": "StepFunctions" }, "OutputArtifacts": [ { "Name": "myOutputArtifact" } ], "Configuration": { "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine", "ExecutionNamePrefix": "my-prefix" } }

リテラル入力の例

YAML
Name: ActionName ActionTypeId: Category: Invoke Owner: AWS Version: 1 Provider: StepFunctions OutputArtifacts: - Name: myOutputArtifact Configuration: StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine ExecutionNamePrefix: my-prefix Input: '{"action": "test"}'
JSON
{ "Name": "ActionName", "ActionTypeId": { "Category": "Invoke", "Owner": "AWS", "Version": 1, "Provider": "StepFunctions" }, "OutputArtifacts": [ { "Name": "myOutputArtifact" } ], "Configuration": { "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine", "ExecutionNamePrefix": "my-prefix", "Input": "{\"action\": \"test\"}" } }

入力ファイルの例

YAML
Name: ActionName InputArtifacts: - Name: myInputArtifact ActionTypeId: Category: Invoke Owner: AWS Version: 1 Provider: StepFunctions OutputArtifacts: - Name: myOutputArtifact Configuration: StateMachineArn: 'arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine' ExecutionNamePrefix: my-prefix InputType: FilePath Input: assets/input.json
JSON
{ "Name": "ActionName", "InputArtifacts": [ { "Name": "myInputArtifact" } ], "ActionTypeId": { "Category": "Invoke", "Owner": "AWS", "Version": 1, "Provider": "StepFunctions" }, "OutputArtifacts": [ { "Name": "myOutputArtifact" } ], "Configuration": { "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine", "ExecutionNamePrefix": "my-prefix", "InputType": "FilePath", "Input": "assets/input.json" } }

Behavior

リリース中、CodePipeline はアクション設定で指定された入力を使用して設定されたステートマシンを実行します。

[InputType] が [Literal (リテラル)] に設定されている場合、[Input (入力)] アクション設定フィールドの内容がステートマシンの入力として使用されます。リテラル入力が指定されていない場合、ステートマシンの実行では空の JSON オブジェクト {} が使用されます。入力なしでステートマシンを実行する方法の詳細については、「ステップ関数 StartExecution API」を参照してください。

[InputType] が [FilePath] に設定されている場合、アクションは入力アーティファクトを解凍し、[Input (入力)] アクション設定フィールドで指定されたファイルの内容をステートマシンの入力として使用します。[FilePath] が指定されている場合、[Input (入力)] フィールドは必須で、入力アーティファクトが存在する必要があります。そうでない場合、アクションは失敗します。

起動が正常に実行されると、標準Express の 2 つのステートマシンタイプに対して動作が分岐します。

標準ステートマシン

標準ステートマシンの実行が正常に開始された場合、CodePipeline は実行がターミナルステータスに達するまで DescribeExecution API をポーリングします。実行が正常に完了するとアクションは成功し、それ以外の場合は失敗します。

出力アーティファクトが設定されている場合、アーティファクトにはステートマシンの戻り値が含まれます。これは、ステートマシンの実行が正常に終了した後、ステップ関数 DescribeExecution API 応答のoutput プロパティから取得できます。この API には出力長の制約が適用されることに注意してください。

エラー処理

  • アクションがステートマシンの実行を開始できない場合、アクションの実行は失敗します。

  • CodePipeline ステップ関数アクションがタイムアウト (デフォルトは 7 日間) に達する前にステートマシンの実行がターミナルステータスに到達しなかった場合、アクションの実行は失敗します。この障害にもかかわらず、ステートマシンは続行される可能性があります。ステップ関数でのステートマシンの実行タイムアウトの詳細については、「標準ワークフローと Express ワークフロー」を参照してください。

    注記

    アクションを持つアカウントの呼び出しアクションタイムアウトのクォータの引き上げをリクエストできます。ただし、クォータの引き上げは、そのアカウントのすべてのリージョンで、このタイプのすべてのアクションに適用されます。

  • ステートマシンの実行が FAILED、TIMED_OUT、または ABORTED のターミナルステータスに達すると、アクションの実行は失敗します。

Express ステートマシン

Express ステートマシンの実行が正常に開始されると、呼び出しアクションの実行は正常に完了します。

Express ステートマシン用に設定されたアクションに関する考慮事項。

  • 出力アーティファクトは指定できません。

  • アクションは、ステートマシンの実行が完了するまで待機しません。

  • CodePipeline でアクションの実行が開始されると、ステートマシンの実行が失敗した場合でも、アクションの実行は成功します。

エラー処理

  • CodePipeline がステートマシンの実行のスタートに失敗すると、アクションの実行は失敗します。それ以外の場合、アクションはすぐに成功します。CodePipeline のアクションは、ステートマシンの実行が完了するまでの時間、またはその結果に関係なく、成功します。

このアクションを利用する際に役立つ関連リソースは以下の通りです。