チュートリアル: パイプラインで AWS Step Functions 呼び出しアクションを使用する - AWS CodePipeline

チュートリアル: パイプラインで AWS Step Functions 呼び出しアクションを使用する

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

このチュートリアルでは、以下のタスクを行います。

  • AWS Step Functions で標準ステートマシンを作成します。

  • ステートマシンの入力 JSON ディレクトリを直接入力します。ステートマシンの入力ファイルを Amazon Simple Storage Service (Amazon S3) バケットにアップロードすることもできます。

  • ステートマシンのアクションを追加して、パイプラインを更新します。

前提条件: シンプルなパイプラインを作成または選択する

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

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

注記

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

ステップ 1: サンプルステートマシンを作成する

Step Functions コンソールで、HelloWorld サンプルテンプレートを使用してステートマシンを作成します。手順については、AWS Step Functions 開発者ガイド の「ステートマシンを作成する」を参照してください。

ステップ 2: パイプラインに Step Functions 呼び出しアクションを追加する

次のようにして、Step Functions 呼び出しアクションをパイプラインに追加します。

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

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

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

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

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

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

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

  7. [+ Add action group (+ アクションの追加)] を選択します。

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

  9. [Action provider (アクションプロバイダー)] で、[AWS Step Functions (AWS ステップ関数)] を選択します。[リージョン] がデフォルトでパイプラインリージョンになることを許可します。

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

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

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

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

  14. [Input (入力)] に、HelloWorld サンプルステートマシンが想定する入力 JSON を入力します。

    注記

    ステートマシンの実行への入力は、CodePipeline でアクションの入力アーティファクトを記述するために使用される用語とは異なります。

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

    {"IsHelloWorldExample": true}
    
            ステップ関数呼び出しアクションの追加の詳細を示すコンソールのスクリーンショット。
  15. [Done] を選択します。

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

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

    
            パイプライン実行 ID を持つパイプラインが正常に完了したことを示すコンソールのスクリーンショット。
  18. 完了したパイプラインで、呼び出しアクションで [AWS Step Functions (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