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

    FilePath選択されているときの入力フィールドのエントリ例:

    assets/input.json
入力

必須: 条件による

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

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

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

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

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

入力アーティファクト

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

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

出力アーティファクト

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

  • 説明:

    • 標準ステートマシン: 指定すると、出力アーティファクトには、ステートマシンの出力が入力されます。これは、ステートマシンの実行が正常に完了した後、Step Functions 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リテラル に設定されている場合、入力アクション設定フィールドの内容がステートマシンの入力として使用されます。リテラル入力が指定されていない場合、ステートマシンの実行は空のJSONオブジェクト を使用します{}。入力なしでステートマシンを実行する方法の詳細については、「Step Functions StartExecutionAPI」を参照してください。

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

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

標準ステートマシン

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

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

エラー処理

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

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

    注記

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

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

Express ステートマシン

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

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

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

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

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

エラー処理

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

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