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 フィールドの入力例。

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

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

    assets/input.json
入力

: 必須 条件付き

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

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

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

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

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

入力アーティファクト

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

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

出力アーティファクト

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

  • 説明:

    • 標準ステートマシン: 指定されている場合、出力アーティファクトにはステートマシンの出力が入力されます。これは、outputの財産ステップ関数 DescribeExecution APIステートマシンの実行が正常に完了した後の応答。

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

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

エラー処理

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

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

    注記

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

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

Express ステートマシン

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

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

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

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

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

エラー処理

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

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