インラインマップステートを使用してアクションを反復する - AWS Step Functions

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

インラインマップステートを使用してアクションを反復する

このチュートリアルでは、インラインモードで Map 状態を使用する方法を説明します。ワークフローで、インラインマップステートを使用してアクションを繰り返し実行します。インラインモードの詳細については、「インラインモードのマップステート」を参照してください。

このチュートリアルでは、インラインマップステートを使用して、バージョン 4 の汎用一意識別子 (v4 UUID) を繰り返し生成します。まず、Workflow Studio で 2 つの パス ステートと 1 つのインラインマップステートを含むワークフローを作成します。次に、Map 状態の入力 JSON 配列を含め、入力と出力を設定します。Map 状態は、入力配列内の各項目に対して生成された v4 UUID を含む出力配列を返します。

ステップ 1: ワークフロープロトタイプを作成する

このステップでは、Workflow Studio を使用してワークフロープロトタイプを作成します。Workflow Studio は、Step Functions コンソールで使用可能なビジュアルワークフローデザイナーです。[フロー] タブから必要な状態を選択し、Workflow Studio のドラッグアンドドロップ機能を使用してワークフロープロトタイプを作成します。

  1. Step Functions コンソールを開き、[ステートマシンの作成] を選択します。

  2. [テンプレートを選択] ダイアログボックスで [空白] を選択します。

  3. [選択] を選びます。これにより、デザインモード で Workflow Studio が開きます。

  4. [フロー] タブで、[パス] 状態をドラッグし、[最初の状態をここにドラッグ] とラベル付けされた空の状態にドロップします。

  5. [マップ] 状態をドラッグして、[パス] 状態の下にドロップします。[マップ] 状態の名前を Map demo に変更します。

  6. 2 つ目の [パス] 状態をドラッグして [マップデモ] 状態の中にドロップします。

  7. 2 つ目の [パス] 状態の名前を Generate UUID に変更します。

ステップ 2: 入力と出力を構成する

このステップでは、ワークフロープロトタイプのすべての状態に対する入力と出力を設定します。まず、最初の [パス] 状態を使用して、ワークフローに固定データを挿入します。[パス] 状態は、このデータを [マップデモ] 状態への入力として渡します。この入力の中で、[マップデモ] 状態が反復処理する必要がある入力配列を含むノードを指定します。次に、[マップデモ] 状態が v4 UUID を生成するために反復する必要があるステップを定義します。最後に、反復するごとに返される出力を構成します。

  1. ワークフロープロトタイプの最初の [パス] 状態を選択します。[出力] タブで、[結果] に次のものを入力します。

    { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
  2. [マップデモ] 状態を選択し、[構成]タブで次の操作を行います。

    1. [項目配列へのパスを指定] を選択します。

    2. 次の [リファレンスパス] を指定して、入力配列を含むノードを選択します。

      $.colors
  3. [UUID の生成] 状態を選択し、[入力] タブで次の操作を行います。

    1. [Parameters を使用して入力を変換] を選択します。

    2. 次の JSON 入力を入力して、入力配列の各項目の v4 UUID を生成します。States.UUID 組み込み関数を使用して UUID を生成します。

      { "uuid.$": "States.UUID()" }
  4. [UUID の生成] 状態で [出力] タブを選択し、次の操作を行います。

    1. [出力のフィルタリング] を選択します OutputPath。

    2. 次の [リファレンスパス] を入力して、出力配列を含む JSON ノードを選択します。

      $.uuid

ステップ 3: 自動生成された Amazon States Language 定義を確認してワークフローを保存する

[フロー] パネルから状態をキャンバスにドラッグアンドドロップすると、Workflow Studio はワークフローの Amazon States Language (ASL) の定義を、リアルタイムで自動的に作成します。この定義は、必要に応じて編集できます。

  1. (オプション) Inspector パネルの [定義] を選択すると、ワークフローの自動生成された Amazon States Language の定義が表示されます。

    ヒント

    また、Workflow Studio の コードエディタ で ASL の定義を表示できます。コードエディタで、ワークフローの ASL の定義を編集することもできます。

    次の例は、ワークフロー用に自動的に生成された Amazon States Language の定義を示しています。

    { "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
  2. ステートマシンの名前を指定します。これを行うには、デフォルトのステートマシン名の横にある編集アイコンを選択しますMyStateMachine。次に、[ステートマシンの設定][ステートマシン名] ボックスに名前を指定します。

    このチュートリアルでは、名前として「InlineMapDemo」と入力します。

  3. (オプション) [ステートマシンの設定] で、ステートマシンのタイプや実行ロールなど、他のワークフロー設定を指定します。

    このチュートリアルでは、[ステートマシンの設定] のデフォルト設定をすべてそのまま使用します。

  4. [ロールの作成を確認] ダイアログボックスで、[確認] を選択して続行します。

    [ロールの設定を表示] を選択して [ステートマシンの設定] に戻ることもできます。

    注記

    Step Functions が作成した IAM ロールを削除すると、Step Functions を後で再作成することはできません。同様に、ロールを変更すると (例えば、IAM ポリシーのプリンシパルから Step Functions を削除するなど)、後で Step Functions でそれを元の設定に復元することはできません。

ステップ 4: ステートマシンを実行する

ステートマシンの実行は、ワークフローを実行してタスクを実施するインスタンスです。

  1. InlineMapDemoページで [実行開始] を選択します。

  2. [実行を開始] ダイアログボックスで、以下の操作を行います。

    1. (オプション) 実行を識別するには、[名前] ボックスに名前を指定します。デフォルトでは、Step Functions は自動的に一意の実行名を生成します。

      注記

      Step Functions では、ステートマシン、実行、アクティビティ、ラベルに、ASCII 以外の文字を含む名前を作成できます。これらの非ASCII名は、Amazonでは機能しません。 CloudWatch CloudWatch メトリクスを追跡できるようにするには、ASCII 文字のみを使用する名前を選択してください。

    2. (オプション) [入力] ボックスに、JSON 形式の入力値を入力してワークフローを実行します。

    3. [実行のスタート] を選択します。

    4. Step Functions コンソールから実行 ID のタイトルが付いたページが表示されます。このページは、[実行の詳細] ページと呼ばれます。このページでは、実行の進行中または完了後に実行結果を確認できます。

      実行結果を確認するには、[グラフビュー] で個々の状態を選択し、ステップの詳細 ペインの個々のタブを選択すると、入力、出力、定義などの各状態の詳細がそれぞれ表示されます。[実行の詳細] ページに表示できる実行情報の詳細については、「[実行の詳細] ページ - インターフェイスの概要」を参照してください。

    実行の入力と出力を表示するには side-by-side、「実行の入力と出力」を選択します。[出力] に、Map 状態から返された出力配列が表示されます。出力配列の例を次に示します。

    [ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]