Step Functions ワークフローを保存して実行する
プロトタイプ内のすべてのリソースを設定したら、ステートマシンを保存し、ワークフロー実行とも呼ばれるワークフローを実行できます。
ステップ 1: 自動生成されたステートマシン定義を確認してステートマシンを保存する
[フロー] タブから状態をキャンバスにドラッグアンドドロップすると、ワークフロープロトタイプが作成されます。Step Functions は、ワークフローの Amazon States Language を使用して Step Functions ワークフローを定義する (ASL) の定義をリアルタイムで自動的に作成します。この定義は、コードエディタ で必要に応じて編集できます。
ASL 定義を確認してステートマシンを保存するには
-
(オプション) インスペクターパネル で [定義] を選択すると、ステートマシン Amazon ステートメント言語 (ASL) の定義が表示されます。この定義は、[アクション] タブと [フロー] タブ、[Inspector] パネルでの選択に基づいて自動的に生成されます。
ヒント
定義を編集するには、ページ上部の [コード] を選択してコードエディタを開きます。現時点では、自動生成された定義のまま進めます。
-
ステートマシンの名前を指定します。これを行うには、MyStateMachine のデフォルトステートマシン名の横にある編集アイコンを選択します。次に、[ステートマシンの設定] の [ステートマシン名] ボックスに名前を指定します。
CreditCardWorkflow
という名前を入力します。 -
(オプション) [ステートマシンの設定] で、ステートマシンのタイプや実行ロールなど、他のワークフロー設定を指定します。
現時点では、[ステートマシンの設定] のデフォルト設定をすべてそのまま使用します。
注記
(オプション) Step Functions は、
RandomNumberforCredit
Lambda 関数を呼び出して Amazon SNS トピックに発行するために必要な最小特権を持つ、ステートマシンの実行ロールを自動的に作成します。ステートマシンに適切なアクセス許可を持つ IAM ロールを以前に作成していて、そのロールを使用する場合は、[アクセス許可] で [既存のロールを選択] を選択し、一覧からロールを選択します。または、[ロールの ARN を入力] を選択し、その IAM ロールの ARN を指定します。
-
[ロールの作成を確認] ダイアログボックスで、[確認] を選択して続行します。
[ロールの設定を表示] を選択して [ステートマシンの設定] に戻ることもできます。
注記
Step Functions が作成した IAM ロールを削除すると、Step Functions を後で再作成することはできません。同様に、ロールを変更すると (例えば、IAM ポリシーのプリンシパルから Step Functions を削除するなど)、後で Step Functions でそれを元の設定に復元することはできません。
ステップ 2: 残りの IAM ポリシーを追加する
Step Functions は、Parallel
状態で使用される Lambda 関数を呼び出すアクセス許可を自動生成しないため、必要なポリシーを追加する必要があります。
残りのポリシーを追加するには
-
[CreditCardWorkflow] ページで、ステートマシンの IAM ロールを選択して IAM コンソールに移動します。このページで、残りの Lambda 関数に必要な権限を追加します。
-
[アクセス許可を追加]、[ポリシーをアタッチ] の順に選択します。
-
[検索] ボックスに、
AWSLambdaRole
と入力して Enter を押します。 -
[AWSLambdaRole] を選択し、[ポリシーをアタッチ] を選択します。これで、このポリシーがステートマシンの実行ロールに追加されました。このポリシーにより、ステートマシンで任意の Lambda 関数を呼び出すことができます。
ステップ 3: ステートマシンを実行する
ステートマシンの実行は、ワークフローを実行してタスクを実施するインスタンスです。
ステートマシンを実行するには
-
[CreditCardWorkflow] ページで、[実行を開始] を選択します。
[実行を開始] ダイアログが表示されます。
-
[実行を開始] ダイアログボックスで、以下の操作を行います。
-
(オプション) 生成されたデフォルトを上書きするカスタム実行名を入力します。
非 ASCII 名とログ記録
Step Functions では、ステートマシン、実行、アクティビティ、ラベルに、ASCII 以外の文字を含む名前を使用できます。このような文字は Amazon CloudWatch では機能しないため、CloudWatch でメトリクスを追跡できるように ASCII 文字のみを使用することをお勧めします。
注記
このステートマシンを実行するために、入力を指定する必要はありません。ただし、必要に応じて、他のステートマシンの [実行を開始] ダイアログボックスの [入力] 領域で実行入力を指定できます。ステートマシンに実行入力を提供する方法の例については、チュートリアル「AWS Step Functions Workflow Studio の使用を学ぶ」の「ステップ 4: 新しい実行の開始」を参照してください。
-
[実行のスタート] を選択します。
-
-
Step Functions コンソールから実行 ID のタイトルが付いたページが表示されます。このページは、[実行の詳細] ページと呼ばれます。このページでは、実行の進行中または完了後に実行結果を確認できます。
実行結果を確認するには、[グラフビュー] で個々の状態を選択し、ステップの詳細 ペインの個々のタブを選択すると、入力、出力、定義などの各状態の詳細がそれぞれ表示されます。[実行の詳細] ページに表示できる実行情報の詳細については、「実行の詳細の概要」を参照してください。
次のステップ
次のトピック、「入力と出力を構成する」では、状態から状態に渡されるデータをフィルタリングおよび操作する方法について説明します。