Lambda を使用するStep Functions ステートマシンを作成する - AWS Step Functions

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

Lambda を使用するStep Functions ステートマシンを作成する

このチュートリアルでは、を使用して 1 ステップのワークフローを作成します。AWS Step Functionsを呼び出すにはAWS Lambda関数。

注記

Step Functions では、ワークフローはステートマシンこれは、イベントドリブンな一連のステップです。ワークフローの各ステップはstate。あるTask州は別の作業単位を表し、AWSサービス、などAWS Lambda、実行します。あるTask州は何でも呼べるAWSサービスまたは API。詳細については、次を参照してください。

Lambda は以下に最適ですTask状態、なぜならLambda 関数はサーバーレスそして書きやすい。AWS Management Console や使い慣れたエディタでコードを作成できます。関数用のコンピューティング環境を提供して実行する細かい部分は AWS が処理します。

ステップ 1: Lambda 関数を作成します

Lambda 関数はイベントデータを受け取り、挨拶メッセージを返します。

重要

Lambda 関数がステートマシンと同じ AWS アカウントと AWS リージョンの下にあることを確認します。

  1. を開きますLambda コンソールそして選んでください関数の作成

  2. [Create function] ページで、[Author from scratch] を選択します。

  3. [Basic information] (ベーシックな情報) セクションで、Lambda 関数を構成:

    1. [Function name] (関数名) に HelloFunction と入力します。

    2. にとってランタイム、選択してくださいNode.js 14.x

    3. In (イン)デフォルト実行ロールを変更、選択してください基本的な Lambda アクセス許可で新しいロールを作成

    4. [Create function] (関数の作成) を選択します。

    5. Lambda 関数が作成されたら、ページの右上隅に表示されている関数の Amazon リソースネーム (を記録します) を記録します。ARN をコピーするには、 
                                        copy Amazon Resource Name
                                    。ARN の例を次に示します。

      arn:aws:lambda:us-east-1:123456789012:function:HelloFunction
  4. 次の Lambda 関数のコードをコードソースのセクションHelloFunctionページ。

    exports.handler = (event, context, callback) => { callback(null, "Hello from " + event.who + "!"); };

    このコードは、関数に渡された event オブジェクトから提供された入力データの who フィールドを使用して、挨拶をアセンブルします。後で新しい実行をスタートするときに、この関数の入力データを追加します。callback メソッドによって、関数からアセンブルされた挨拶が返されます。

  5. [Deploy‬] (デプロイ) をクリックします。

ステップ 2: Lambda 関数をテストする

Lambda 関数をテストしてオペレーションを確認します。

  1. [Test] (テスト) を選択します。

  2. の中にテストイベントの設定ダイアログボックス、HelloEvent()イベント名ボックス。

  3. データ例を以下に置き換えます。

    { "who": "AWS Step Functions" }

    "who" エントリは Lambda 関数の event.who フィールドに対応し、挨拶を完了させます。ステートマシンを実行するときも、同じ入力データを入力します。

  4. [作成] を選択します。

  5. HelloFunctionページ、選択テスト新しいデータを使用して Lambda 関数の [Test] (テスト) を実行します。

    テストの結果が実行結果タブ。

  6. を選択してください実行結果タブをクリックして、出力を確認します。

ステップ 3: ステートマシンの作成

を使用するStep Functions コンソールを呼び出すステートマシンを作成するにはステップ 1 で作成した Lambda 関数

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

    重要

    ステートマシンが、前に作成した Lambda 関数と同じ AWS アカウントおよびリージョンにあることを確認します。

  2. 作成方法の選択ページ、選択ワークフローの視覚的なデザイン

  3. にとってタイプ、デフォルトの選択のままにします。つまり、Standard

  4. [Next] (次へ) を選択します。これにより、Workflow Studio が開きます。

  5. 左側のStates ブラウザで、アクションパネル。

    1. ドラッグアンドドロップAWS Lambda呼び出しAPI をラベル付きの空の状態にするここに最初の州をドラッグ

      
                                    [State browser] (状態ブラウザ)
  6. の中にInspector右側のパネルで、Lambda 関数とその名前を設定します。

    1. 選択設定そして編集する州名、必要な場合。

    2. の中にAPI パラメータセクション、選択してください先ほど作成した Lambda 関数()関数名ドロップダウンリスト。

    3. デフォルトでは選択されているものを保持します。Payloadドロップダウンリスト。

  7. [Next] (次へ) を選択します。

  8. 生成コードの確認ページで、ステートマシンの Amazon States Language (ASL) の定義を確認してください。この定義は、アクションそしてInspectorパネル。

  9. [Next] (次へ) を選択します。

  10. [Name for your state machine] (ステートマシンの名前) に、例えば LambdaStateMachine と入力します。

    注記

    ステートマシン、実行、アクティビティ名は 1~80 文字で、アカウントと AWS リージョンが一意である必要があり、以下のものを含めることはできません。

    • 空白

    • ワイルドカード文字 (? *)

    • 角かっこ (< > { } [ ])

    • 特殊文字 (: ; , \ | ^ ~ $ # % & ` ")

    • 制御文字 (\\u0000 - \\u001f または \\u007f - \\u009f)

    Step Functions では、非 ASCII 文字を含むステートマシン、実行、およびアクティビティ名を作成できます。これらの非 ASCII 名は Amazon では機能しません CloudWatch。追跡できるようにするには CloudWatch metrics で、ASCII 文字のみを使用する名前を選択します。

  11. In (イン)実行ロールアクセス許可セクション、選択してください新しいロールの作成

  12. Create State Machine(ステートマシンの作成)を選択します。

ステップ 4: 新しい実行のスタート

ステートマシンを作成した後、実行をスタートします。

  1. LambdaStateMachineページ、選択実行の開始

    -実行の開始ダイアログボックスが表示されます。

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

    注記

    Step Functions では、非 ASCII 文字を含むステートマシン、実行、およびアクティビティ名を作成できます。これらの非 ASCII 名は Amazon では機能しません CloudWatch。追跡できるようにするには CloudWatch metrics で、ASCII 文字のみを使用する名前を選択します。

  3. 実行入力領域で、サンプルデータを以下で置き換えます。

    { "who" : "AWS Step Functions" }

    "who" は Lambda 関数が挨拶する相手の名前を取得するために使用するキー名です。

  4. [Start Execution] (実行のスタート) を選択します。

    ステートマシンの新しい実行がスタートされ、実行中の実行が表示されている新しいページが表示されます。

  5. 実行結果を表示するには、実行出力タブ。

注記

ステートマシンから Lambda を呼び出している間にペイロードを渡すこともできます。ペイロードを渡して Lambda を呼び出す方法の詳細と例については、Parametersフィールド、を参照してくださいStep Functions で Lambda を呼び出す