翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Lambda を使用するStep Functions ステートマシンの作成
このチュートリアルでは、を使用してシングルステップのワークフローを作成します。AWS Step Functionsを呼び出すにはAWS Lambda関数。
注記
Step Functions はステートマシンとタスクに基づいています。Step Functions では、ワークフローはステートマシンと呼ばれ、イベント主導型の一連のステップです。ワークフローの各ステップは、状態と呼ばれます。あるタスク状態は別の作業単位を表しますAWSサービス (例:AWS Lambda、実行する。タスクステートは任意のものを呼び出すことができます。AWS のサービスまたは API。
詳細については、以下を参照してください。
Lambda は次の用途に適していますTask
状態。なぜなら Lambda 関数はサーバーレスそして簡単に書けます。AWS Management Console や使い慣れたエディタでコードを作成できます。関数用のコンピューティング環境を提供して実行する細かい部分は AWS が処理します。
ステップ 1: Lambda 関数を作成する
Lambda 関数はイベントデータを受け取り、グリーティングメッセージを返します。
重要
Lambda 関数がステートマシンと同じ AWS アカウントと AWS リージョンの下にあることを確認します。
-
を開きますLambda コンソール
そして選択してください関数を作成。 -
[Create function] ページで、[Author from scratch] を選択します。
-
[Function name] (関数名) に
HelloFunction
と入力します。 -
他の選択肢は、デフォルトの選択のままにします。他の選択肢は、デフォルトの選択のままにします。関数を作成。
-
Lambda 関数が作成されたら、ページの右上隅に表示されているその Amazon リソースネーム (ARN) を記録します。ARN をコピーするには、をクリックします
。ARN の例を次に示します。
arn:aws:lambda:us-east-1:123456789012:function:
HelloFunction
-
Lambda 関数の次のコードをにコピーします。コードソースのセクション
HelloFunction
ページ。export const handler = async(event, context, callback) => { callback(null, "Hello from " + event.who + "!"); };
このコードは、関数に渡された
event
オブジェクトから提供された入力データのwho
フィールドを使用して、挨拶をアセンブルします。後で新しい実行をスタートするときに、この関数の入力データを追加します。callback
メソッドによって、関数からアセンブルされた挨拶が返されます。 -
[デプロイ] をクリックします。
ステップ 2: Lambda 関数をテストする
Lambda 関数をテストしてオペレーションを確認します。
-
[テスト] を選択します。
-
[イベント名] で、
HelloEvent
と入力します。 -
を置き換えてくださいイベント JSON以下のデータ。
{ "who": "AWS Step Functions" }
"who"
エントリは Lambda 関数のevent.who
フィールドに対応し、挨拶を完了させます。ステートマシンを実行するときにも同じ入力データを入力します。 -
を選択します。[保存]そして選択してくださいテスト。
-
テスト結果を確認するには、[Execution result] (実行結果) で、[Details] (詳細) を展開します。
ステップ 3: ステートマシンを作成する
Step Functions コンソールを使用して、で作成した Lambda 関数を呼び出すステートマシンを作成します。ステップ 1。
-
Step Functions コンソール
を開き、[Create a state machine] (ステートマシンの作成)] を選択します。 重要
ステートマシンが同じものであることを確認してください。AWS前に作成した Lambda 関数として、アカウントとリージョンをにします。
-
でテンプレートを選択するダイアログボックス、選択空白。
-
[Select] (選択) を選択します。これにより、ワークフロースタジオが開きます。デザインモード。
-
でステートブラウザ左側で、次の項目を選択していることを確認します。アクションタブ。次に、以下の操作を実行します。
-
ドラッグアンドドロップAWS Lambda[呼び出し]API を空の状態にする (ラベル付き)最初のステートをここにドラッグします。。
-
-
でInspector右側のパネルで、Lambda 関数を設定します。
-
ではAPI パラメーターセクション、選択前に作成した Lambda 関数では関数名ドロップダウンリスト。
-
デフォルトの選択のままにします。ペイロードドロップダウンリスト。
-
-
(オプション) 選択定義ステートマシンのステートマシンを表示するにはAmazon ステートメント言語(ASL) 定義。この定義は、での選択に基づいて自動的に生成されます。アクションタブとInspectorパネル。
-
ステートマシンの名前を指定します。これを行うには、デフォルトのステートマシン名の横にある編集アイコンを選択します。MyStateMachine。次に、ステートマシン設定で、名前を指定します。ステートマシン名ボックス。
たとえば、名前を入力します。
LambdaStateMachine
。注記
ステートマシン、実行、アクティビティの名前は 1~80 文字で、アカウントと AWS リージョンが一意である必要があり、以下のものを含めることはできません。
-
空白
-
ワイルドカード文字 (
? *
) -
角かっこ (
< > { } [ ]
) -
特殊文字 (
: ; , \ | ^ ~ $ # % & ` "
) -
制御文字 (
\\u0000
-\\u001f
または\\u007f
-\\u009f
)
ステートマシンのタイプが Express の場合、ステートマシンを複数回実行するときに同じ名前を指定できます。Step Functions は、複数の実行が同じ名前であっても、Express ステートマシンの実行ごとに一意の実行 ARN を生成します。
Step Functions では、非 ASCII 文字を含むステートマシン、実行、およびアクティビティ名を作成できます。これらの非ASCIIの名前は、Amazonでは機能しません CloudWatch。追跡できるようにするため CloudWatch メトリクスについては、ASCII 文字のみを使用する名前を選択します。
-
-
(オプション) でステートマシン設定ステートマシンのタイプや実行ロールなど、他のワークフロー設定を指定します。
このチュートリアルでは、デフォルトの選択のままにします。ステートマシン設定。
-
[作成] を選択します。
-
でロール作成を確認ダイアログボックス、選択確認続けるには。
選択することもできますロール設定を表示するに戻るにはステートマシン設定。
注記
Step Functions が作成した IAM ロールを削除すると、Step Functions を後で再作成することはできません。同様に、ロールを変更すると (例えば、IAM ポリシーのプリンシパルから Step Functions を削除するなど)、後で Step Functions でそれを元の設定に復元することはできません。
ステップ 4: ステートマシンを実行する
ステートマシンを作成したら、実行することができます。
-
でステートマシンページ、選択LambdaStateMachine。
-
[Start execution] (実行のスタート) を選択します。
ザ・実行を開始するダイアログ・ボックスが表示されます。
-
(オプション) 実行内容を特定するには、以下に示すように、実行内容を記録します。[名前]ボックス。デフォルトでは、Step Functions は固有の実行名を自動的に生成します。
注記
Step Functions では、非 ASCII 文字を含むステートマシン、実行、およびアクティビティ名を作成できます。これらの非ASCIIの名前は、Amazonでは機能しません CloudWatch。追跡できるようにするため CloudWatch メトリクスについては、ASCII 文字のみを使用する名前を選択します。
-
の中ではインプットの欄で、サンプル実行データを以下の内容に置き換えます。
{ "who" : "AWS Step Functions" }
"who"
は Lambda 関数が挨拶する相手の名前を取得するために使用するキー名です。 -
[Start Execution] (実行のスタート) を選択します。
ステートマシンの実行が開始され、実行中の実行を示す新しいページが表示されます。
-
Step Functions コンソールは、実行 ID でタイトルが付けられたページに移動します。このページは、[実行詳細]ページ。このページでは、実行の進行中、または完了後に、実行結果を確認できます。
実行結果を確認するには、上の個々の状態を選択します。グラフビュー次に、上の個々のタブを選択します。ステップ詳細ペインには、入力、出力、定義など、各ステートの詳細がそれぞれ表示されます。実行情報の詳細については、で確認できます。[実行詳細]ページ、「」を参照実行の詳細ページ — インターフェースの概要。
注記
ステートマシンから Lambda を呼び出しているときにペイロードを渡すこともできます。ペイロードを渡して Lambda を呼び出す方法の詳細と例については、Parameters
フィールドについては、を参照してください。Step Functions で Lambda を呼び出す。