

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

# AWS Step Functions アクションリファレンスを呼び出す
<a name="action-reference-StepFunctions"></a>

以下を実行する AWS CodePipeline アクション。
+ パイプラインから AWS Step Functions ステートマシンの実行を開始します。
+ アクション設定のプロパティ、または入力として渡されるパイプラインアーティファクトにあるファイルのいずれかを使用して、ステートマシンに初期状態を提供します。
+ オプションで、アクションから発生した実行を識別するための実行 ID プレフィックスを設定します。
+ [標準および Express](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html) ステートマシンをサポートします。

**注記**  
Step Functions アクションは Lambda で実行するため、Lambda 関数のアーティファクトサイズクォータと同じアーティファクトサイズクォータが適用されます。詳細については、「Lambda デベロッパーガイド」の「[Lambda クォータ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)」を参照してください。

## アクションタイプ
<a name="action-reference-StepFunctions-type"></a>
+ カテゴリ:`Invoke`
+ 所有者: `AWS`
+ プロバイダー: `StepFunctions`
+ バージョン: `1`

## 設定パラメータ
<a name="action-reference-StepFunctions-config"></a>

**StateMachineArn**  
必須: はい  
呼び出されるステートマシンの Amazon リソースネーム (ARN)。

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

```
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
```
Express ステートマシンの場合、名前には 0～9、A～Z、a～z、- および \$1 のみを含める必要があります。

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

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

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

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

  ```
  assets/input.json
  ```

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

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

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

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

## 入力アーティファクト
<a name="action-reference-StepFunctions-input"></a>
+ **アーティファクトの数:** `0 to 1`
+ **説明:** [**InputType**] が [**FilePath**] に設定されている場合、このアーティファクトは必須であり、ステートマシンの実行のための入力のソースに使用されます。

## 出力アーティファクト
<a name="action-reference-StepFunctions-output"></a>
+ **アーティファクトの数:** `0 to 1` 
+ **説明:**
  + **標準ステートマシン**: 指定すると、出力アーティファクトには、ステートマシンの出力が入力されます。これは、ステートマシンの実行が正常に終了した後、[ステップ関数 DescribeExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) 応答の`output` プロパティから取得できます。
  + **Express ステートマシン**: サポートされていません。

## 出力変数
<a name="action-reference-StepFunctions-variables"></a>

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

詳細については、「[変数リファレンス](reference-variables.md)」を参照してください。

**StateMachineArn**  
 ステートマシンの ARN。

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

## サービスロールのアクセス許可: `StepFunctions` アクション
<a name="edit-role-stepfunctions"></a>

`StepFunctions` アクションでは、Step Functions 呼び出しアクションを使用してパイプラインを作成するために必要な最小限のアクセス許可は次のとおりです。

```
{
    "Effect": "Allow",
    "Action": [
        "states:DescribeStateMachine",
        "states:DescribeExecution",
        "states:StartExecution"
    ],
    "Resource": "resource_ARN"
},
```

## アクション設定の例
<a name="action-reference-StepFunctions-example"></a>

### デフォルト入力の例
<a name="action-reference-StepFunctions-example-default"></a>

------
#### [ 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"
    }
}
```

------

### リテラル入力の例
<a name="action-reference-StepFunctions-example-literal"></a>

------
#### [ 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\"}"
    }
}
```

------

### 入力ファイルの例
<a name="action-reference-StepFunctions-example-filepath"></a>

------
#### [ 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"
    }
}
```

------

## 行動
<a name="action-reference-StepFunctions-types"></a>

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

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

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

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

### 標準ステートマシン
<a name="action-reference-StepFunctions-types-standard"></a>

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

出力アーティファクトが設定されている場合、アーティファクトにはステートマシンの戻り値が含まれます。これは、ステートマシンの実行が正常に終了した後、[ステップ関数 DescribeExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) 応答の`output` プロパティから取得できます。この API には出力長の制約が適用されることに注意してください。

#### エラー処理
<a name="action-reference-StepFunctions-types-standard-handling"></a>
+ アクションがステートマシンの実行を開始できない場合、アクションの実行は失敗します。
+ CodePipeline ステップ関数アクションがタイムアウト (デフォルトは 7 日間) に達する前にステートマシンの実行がターミナルステータスに到達しなかった場合、アクションの実行は失敗します。この障害にもかかわらず、ステートマシンは続行される可能性があります。ステップ関数でのステートマシンの実行タイムアウトの詳細については、「[標準ワークフローと Express ワークフロー](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html)」を参照してください。
**注記**  
アクションを持つアカウントの呼び出しアクションタイムアウトのクォータの引き上げをリクエストできます。ただし、クォータの引き上げは、そのアカウントのすべてのリージョンで、このタイプのすべてのアクションに適用されます。
+ ステートマシンの実行が FAILED、TIMED\$1OUT、または ABORTED のターミナルステータスに達すると、アクションの実行は失敗します。

### Express ステートマシン
<a name="action-reference-StepFunctions-types-express"></a>

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

Express ステートマシン用に設定されたアクションに関する考慮事項。
+ 出力アーティファクトは指定できません。
+ アクションは、ステートマシンの実行が完了するまで待機しません。
+ CodePipeline でアクションの実行が開始されると、ステートマシンの実行が失敗した場合でも、アクションの実行は成功します。

#### エラー処理
<a name="action-reference-StepFunctions-types-express-handling"></a>
+ CodePipeline がステートマシンの実行のスタートに失敗すると、アクションの実行は失敗します。それ以外の場合、アクションはすぐに成功します。CodePipeline のアクションは、ステートマシンの実行が完了するまでの時間、またはその結果に関係なく、成功します。

## 関連情報
<a name="action-reference-StepFunctions-links"></a>

このアクションを利用する際に役立つ関連リソースは以下の通りです。
+ [AWS Step Functions デベロッパーガイド](https://docs.aws.amazon.com/step-functions/latest/dg/) – ステートマシン、実行、およびステートマシンの入力については、「 *AWS Step Functions デベロッパーガイド*」を参照してください。
+ [チュートリアル: パイプラインで AWS Step Functions 呼び出しアクションを使用する](tutorials-step-functions.md) - このチュートリアルでは、サンプルの標準ステートマシンから開始し、コンソールを使用してステップ関数の呼び出しアクションを追加してパイプラインを更新する方法について説明します。