AWS Step Functions - AWS CodePipeline

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

AWS Step Functions

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

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

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

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

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

注記

この機能は、アジアパシフィック (香港) リージョンまたはヨーロッパ (ミラノ) リージョンではご利用いただけません。そのリージョンで利用可能な他のアクションを使用するには、CodePipeline との製品やサービスの統合

アクションの種類

  • カテゴリ: Invoke

  • 所有者: AWS

  • プロバイダー: StepFunctions

  • バージョン: 1

設定パラメータ

StateMachineArn

必須: はい

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

ExecutionNamePrefix

必須: いいえ

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

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

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

InputType

必須: いいえ

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

    のエントリの例Inputフィールドをリテラルが選択されています。

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

    のエントリの例InputフィールドをFilePathが選択されています。

    assets/input.json
Input

必須: 条件付き

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

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

  • FilePath: メトリックInputTypeは、 に設定されます。FilePath] を選択した場合、このフィールドは必須です。

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

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

入力アーティファクト

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

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

出力アーティファクト

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

  • 説明:

    • 標準ステートマシン: 指定すると、出力アーティファクトには、ステートマシンの出力が入力されます。これは、outputのプロパティStep Functions DescribeExecution API応答が、ステートマシンの実行が正常に完了しました。

    • Express ステートマシン: サポート外。

出力変数

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

詳細については、「Variables」を参照してください。

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 を使用します。実行が正常に完了するとアクションは成功し、それ以外の場合は失敗します。

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

エラー処理

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

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

    注記

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

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

Express ステートマシン

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

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

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

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

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

エラー処理

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

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