ステップ 4: Lambda 関数をコードフックとして追加する (コンソール) - Amazon Lex V1

Amazon Lex V2 を使用している場合は、代わりに Amazon Lex V2 ガイドを参照してください。

 

Amazon Lex V1 を使用している場合は、ボットを Amazon Lex V2 にアップグレードすることをお勧めします。V1 には新機能を追加されませんので、すべての新しいボットには V2 を使用することを強くお勧めします。

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

ステップ 4: Lambda 関数をコードフックとして追加する (コンソール)

このセクションでは、次のように Lambda 関数を使用するように OrderFlowers インテントの設定を更新します。

  • 最初に OrderFlowers インテントを達成するためのコードフックとして Lambda 関数を使用します。ボットをテストして、Lambda 関数からフルフィルメントメッセージを受信していることを確認します。Amazon Lex は、花の注文に必要なすべてのスロットのデータが提供された後にのみ、Lambda 関数を呼び出します。

  • 初期化と検証を行うために同じ Lambda 関数をコードフックとして設定します。Lambda 関数が、(スロットデータが提供されたときに) 検証を行っていることをテストして確認します。

Lambda 関数をコードフックとして追加するには (コンソール)
  1. Amazon Lex コンソールで、[OrderFlowers] ボットを選択します。コンソールに [OrderFlowers] インテントが表示されます。インテントのバージョンが $LATEST に設定されていることを確認します。変更できるのはこのバージョンだけです。

  2. Lambda 関数をフルフィルメントのコードフックとして追加してテストします。

    1. エディタで、[AWS Lambda function] (関数) を [Fulfillment] (フルフィルメント) として選択し、前のステップで作成した Lambda 関数を選択します (OrderFlowersCodeHook)。[OK] を選択して、Lambda 関数を呼び出すアクセス権限を Amazon Lex に付与します。

      この Lambda 関数は、インテントを達成するためのコードフックとして設定しています。この関数を Amazon Lex が呼び出すのは、インテントを達成するために必要なすべてのスロットデータをユーザーから取得した後のみです。

    2. [Goodbye message] を指定します。

    3. [Build] を選択します。

    4. 前の会話を使用してボットをテストします。

    最後の文章である「ありがとうございました。お客様のバラは ...」は、コードフックとして設定した Lambda 関数からのレスポンスです。前のセクションでは、Lambda 関数はありませんでした。ここでは、Lambda 関数を使用して実際に OrderFlowers インテントを達成します。

  3. Lambda 関数を初期化および検証のコードフックとして追加してテストします。

    Lambda 関数のサンプルコードを使用して、ユーザー入力の検証とフルフィルメントの両方を行うことができます。Lambda 関数が受け取る入力イベントには、どのコード部分を実行するかをコードで判断するためのフィールド (invocationSource) があります。詳細については、「Lambda 関数の入力イベントとレスポンスの形式」を参照してください。

    1. OrderFlowers の $LATEST バージョンを選択します。これは更新できる唯一のバージョンです。

    2. エディタで、[オプション] の [Initialization and validation] (初期化と検証) を選択します。

    3. ここでも、同じ Lambda 関数を選択します。

    4. [Build] を選択します。

    5. ボットをテストします。

      次の画像ように Amazon Lex と対話する準備が整いました。検証部分をテストするには、時間として 6 PM を選択します。Lambda 関数からレスポンス (「当社の営業時間は午前 10 時から午後 5 時までとなっております」) が返され、選択し直すことを求められます。すべての有効なスロットデータを提供すると、Lambda 関数によって注文が確定されます。

      
                                Lambda 関数でのデータの検証方法を示す OrderFlowers ボットとの会話。
次のステップ

ステップ 5 (オプション): 情報フローの詳細を確認する (コンソール)