

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

# チュートリアル: パイプラインで AWS Step Functions 呼び出しアクションを使用する
<a name="tutorials-step-functions"></a>

 AWS Step Functions を使用して、ステートマシンを作成および設定できます。このチュートリアルでは、パイプラインからステートマシンの実行を有効化するパイプラインに呼び出しアクションを追加する方法を説明します。

**重要**  
パイプライン作成の一環として、CodePipeline は、ユーザーが指定した S3 アーティファクトバケットをアーティファクトとして使用します (これは S3 ソースアクションで使用するバケットとは異なります)。S3 アーティファクトバケットがパイプラインのアカウントとは異なるアカウントにある場合は、S3 アーティファクトバケットが によって所有 AWS アカウント されており、安全で信頼できることを確認してください。

このチュートリアルでは、以下のタスクを行います。
+ で標準ステートマシンを作成します AWS Step Functions。
+ ステートマシンの入力 JSON ディレクトリを直接入力します。ステートマシンの入力ファイルを Amazon Simple Storage Service（Amazon S3）バケットにアップロードすることもできます。
+ ステートマシンのアクションを追加して、パイプラインを更新します。

**Topics**
+ [前提条件: シンプルなパイプラインを作成または選択する](#tutorials-step-functions-prereq)
+ [ステップ 1: サンプルステートマシンを作成する](#tutorials-step-functions-sample)
+ [ステップ 2: パイプラインにステップ関数呼び出しアクションを追加する](#tutorials-step-functions-pipeline)

## 前提条件: シンプルなパイプラインを作成または選択する
<a name="tutorials-step-functions-prereq"></a>

このチュートリアルでは、既存のパイプラインに呼び出しアクションを追加します。[チュートリアル: シンプルなパイプラインを作成する (S3 バケット)](tutorials-simple-s3.md) または [チュートリアル: シンプルなパイプラインを作成する (CodeCommit リポジトリ)](tutorials-simple-codecommit.md) で作成したパイプラインを使用できます。

ソースアクションと少なくとも 2 ステージ構造を持つ既存のパイプラインを使用しますが、この例ではソースアーティファクトを使用しません。

**注記**  
このアクションを実行するために必要な追加のアクセス許可を使用して、パイプラインで使用されるサービスロールを更新する必要がある場合があります。これを行うには、 AWS Identity and Access Management (IAM) コンソールを開き、ロールを見つけてから、ロールのポリシーにアクセス許可を追加します。詳細については、「[CodePipeline サービスロールにアクセス許可を追加する](how-to-custom-role.md#how-to-update-role-new-services)」を参照してください。

## ステップ 1: サンプルステートマシンを作成する
<a name="tutorials-step-functions-sample"></a>

ステップ関数コンソールで、`HelloWorld` サンプルテンプレートを使用してステートマシンを作成します。手順については、*AWS Step Functions デベロッパーガイド* の [ステートマシンの作成](https://docs.aws.amazon.com/step-functions/latest/dg/getting-started.html#create-state-machine) を参照してください。

## ステップ 2: パイプラインにステップ関数呼び出しアクションを追加する
<a name="tutorials-step-functions-pipeline"></a>

次のように、ステップ関数呼び出しアクションをパイプラインに追加します。

1. にサインイン AWS マネジメントコンソール し、[http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home) で CodePipeline コンソールを開きます。

    AWS アカウントに関連付けられているすべてのパイプラインの名前が表示されます。

1. **[名前]** で、編集するパイプラインの名前を選択します。これにより、パイプラインの詳細ビューが開いて、パイプラインの各ステージの各アクションの状態などがわかります。

1. パイプライン詳細ページで、[**編集**] を選択します。

1. シンプルなパイプラインの 2 番目のステージで、[**Edit stage (ステージの編集)**] を選択します。**[削除]** を選択します。これで、不要になった 2 番目のステージが削除されました。

1. 図の最下部で [**\$1 Add stage]** (\$1 ステージの追加) を選択します。

1. [**ステージ名**] にステージ名 (**Invoke** など) を入力し、[**Add stage (ステージの追加)**] を選択します。

1. [**\$1 Add action group (\$1 アクションの追加)**] を選択します。

1. [**アクション名**] に名前 (**Invoke** など) を入力します。

1. [**アクションプロバイダー**] で、[**AWS ステップ関数**] を選択します。**[リージョン]** をデフォルトでパイプラインのリージョンにすることを許可します。

1. [**入力アーティファクト**] で [`SourceArtifact`] を選択します。

1. [**State machine ARN (ステートマシン ARN)**] で、前に作成したステートマシンの Amazon リソースネーム (ARN) を選択します。

1. (オプション) [**Execution name prefix (実行名のプレフィックス)**] に、ステートマシンの実行 ID に追加するプレフィックスを入力します。

1. [**Input type (入力タイプ)**] で [**Literal (リテラル)**] を選択します。

1. [**Input (入力)**] に、`HelloWorld` サンプルステートマシンが想定する入力 JSON を入力します。
**注記**  
ステートマシンの実行への入力は、CodePipeline でアクションの入力アーティファクトを記述するために使用される条件とは異なります。

   この例では、次の JSON を入力します。

   ```
   {"IsHelloWorldExample": true}
   ```

1. **[Done]** (完了) をクリックします。

1. 編集中のステージで、[**完了**] を選択します。 AWS CodePipeline のペインで [**保存**] を選択し、警告メッセージで [**保存**] を選択します。

1. 変更を送信してパイプラインの実行を開始するには、[**変更のリリース**]、[**リリース**] の順に選択します。

1. 完了したパイプライン内の呼び出しアクションで、[**AWS ステップ関数**] を選択します。 AWS Step Functions コンソールで、ステートマシンの実行 ID を表示します。ID には、ステートマシン名 `HelloWorld` と、ステートマシンの実行 ID とプレフィックス `my-prefix` が表示されます。

   ```
   arn:aws:states:us-west-2:account-ID:execution:HelloWorld:my-prefix-0d9a0900-3609-4ebc-925e-83d9618fcca1
   ```