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

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

 

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

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

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

このセクションでは、初期化/検証とフルフィルメントアクティビティのためのコードフックとして Lambda 関数を追加して、BookCar と BookHotel の両方のインテントの設定を更新します。更新できるのは Amazon Lex リソースの $LATEST バージョンのみであるため、インテントの $LATEST バージョンを選択していることを確認します。

  1. Amazon Lex コンソールで、[BookTrip] ボットを選択します。

  2. [Editor] タブで、[BookHotel] インテントを選択します。インテント設定を次のように更新します。

    1. インテントのバージョン (インテント名の横にある) が $LATEST であることを確認します。

    2. Lambda 関数を次のように初期化および検証のコードフックとして追加します。

      • [Options] で、[Initialization and validation code hook] を選択します。

      • リストから Lambda 関数を選択します。

    3. Lambda 関数を次のようにフルフィルメントのコードフックとして追加します。

      • [Fulfillment] で、[AWS Lambda function] を選択します。

      • リストから Lambda 関数を選択します。

      • [Goodbye message] を選択し、メッセージを入力します。

    4. [Save (保存)] を選択します。

  3. [Editor] タブで、BookCar インテントを選択します。前述のステップに従って、Lambda 関数を検証とフルフィルメントのコードフックとして追加します。

  4. [Build] を選択します。コンソールによって、設定を保存するための一連のリクエストが Amazon Lex に送信されます。

  5. ボットをテストします。これで初期化、ユーザーデータの検証、およびフルフィルメントを実行する Lambda 関数を作成したので、ユーザー操作での違いを次の会話で確認できます。

    エージェントとの会話。エージェントは、旅行予約に関する都市、曜日、宿泊日数、部屋のタイプを伝え、予約を確認します。

    クライアント (コンソール) から Amazon Lex へのデータフローおよび Amazon Lex から Lambda 関数へのデータフローの詳細については、「データフロー: BookHotel インテント」を参照してください。

  6. 会話を続行して、次の画像ように車を予約します。

    エージェントとの会話。エージェントはドライバーの年齢と車のタイプを伝え、車の予約を確認します。

    車の予約を選択すると、(前の BookHotel での会話からの) セッション属性が含まれているリクエストが、クライアント (コンソール) によって Amazon Lex に送信されます。Amazon Lex はこの情報を Lambda 関数に渡し、その関数によって BookCar のスロットデータの一部 (PickUpDate、ReturnDate、および PickUpCity) が初期化 (事前入力) されます。

    注記

    これは、セッション属性を使用してインテント間でコンテキストを保持する方法を示しています。コンソールクライアントでは、テストウィンドウにある [Clear] リンクを使用して以前のセッション属性をクリアできます。

    クライアント (コンソール) から Amazon Lex へのデータフローおよび Amazon Lex から Lambda 関数へのデータフローの詳細については、「データフロー: BookCar インテント」を参照してください。