

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

# コンソールを使用して Amazon Lex V2 ボットに AWS Lambda関数をアタッチする
<a name="lambda-attach-console"></a>

呼び出す前に、まず Lambda 関数を Amazon Lex V2 ボットエイリアスにアタッチする必要があります。1 つのボットエイリアスにアタッチできる Lambda 関数は 1 つだけです。以下の手順を実行して、AWS コンソールを使用して Lambda 関数をアタッチします。

1. AWS マネジメントコンソールにサインインし、[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/) で Amazon Lex コンソールを開きます。

1. 左側のパネルで **[ボット]** を選択し、ボットのリストから Lambda 関数を割り当てるボットの名前を選択します。

1. 左側のパネルから、**[デプロイ]** メニューの **[エイリアス]** を選択します。

1. エイリアスのリストから、Lambda 関数をアタッチするエイリアスの名前を選択します。

1. **[言語]** パネルで、Lambda 関数に使用する言語を選択します。言語がパネルに表示されていない場合は、**[エイリアスの言語を管理]** を選択して言語を追加します。

1. **[ソース]** ドロップダウンメニューで、アタッチする Lambda 関数の名前を選択します。

1. **[Lambda 関数のバージョンまたはエイリアス]** ドロップダウンメニューで、使用する Lambda 関数のバージョンまたはエイリアスを選択します。次に、[**保存**] を選択します。ボットがサポートする言語のすべてのインテントに同じ Lambda 関数が使用されます。

**コンソールを使用して Lambda 関数を呼び出すための Amazon Lex V2 インテントの設定**

1. ボットを選択したら、左側のメニューで Lambda 関数を呼び出すボットの言語の下にある **[インテント]** を選択します。

1. Lambda 関数を呼び出しインテントを選択し、インテントエディターを開きます。

1. Lambda コードフックを設定するためには 2 つのオプションがあります。

   1. 会話の各ステップ後に Lambda 関数を呼び出すには、以下の画像のように、インテントエディターの下部にある **[コードフック]** セクションまでスクロールし、**[初期化と検証に Lambda 関数を使用する]** チェックボックスを選択します。  
![\[Amazon Lex V2 インテントエディタの [コードフック] セクション\]](http://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/images/lambda/lambda-code-hooks-all.png)

   1. または、会話ステージの **[ダイアログコードフック]** セクションを使用して Lambda 関数を呼び出します。**[ダイアログコードフック]** セクションは次のように表示されます。  
![\[Amazon Lex V2 インテントエディタの [コードフック] セクション\]](http://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/images/lambda/lambda-code-hook-step.png)

      Amazon Lex V2 がレスポンスのコードフックを呼び出す方法を制御する方法は 2 つあります。
      + **[アクティブ]** ボタンを切り替えて、*アクティブ*または*非アクティブ*とマークします。コードフックが*アクティブ*になると、Amazon Lex V2 はコードフックを呼び出します。コードフックが*非アクティブ*の場合、Amazon Lex V2 はコードフックを実行しません。
      + **[Lambda ダイアログのコードフック**] セクションを展開し、**[Lambda 関数を呼び出す]** チェックボックスを選択して、*有効*または*無効*のマークを付けます。コードフックは、アクティブとマークされている場合にのみ有効化または無効化できます。*有効*とマークされると、コードフックは通常どおり実行されます。*無効*にすると、コードフックは呼び出されず、Amazon Lex V2 はコードフックが正常に返されたかのように動作します。ダイアログコードフックが成功、失敗、またはタイムアウトした後のレスポンスを設定するには、**[詳細オプション]** を選択します。

      Lambda コードフックは、以下の会話段階で呼び出すことができます。
      + この関数を**初期レスポンス**として呼び出すには、**[初期応答]** セクションまでスクロールし、**[ユーザーの要求を確認するための応答]** の横にある矢印を展開し、**[詳細オプション]**を選択します。ポップアップメニューの下部にある **[ダイアログコードフック]** セクションを探してください。
      + **スロット誘発**後に関数を呼び出すには、**[スロット]** セクションまでスクロールし、該当する **[スロットのプロンプト]** の横にある矢印を展開して、**[詳細オプション]** を選択します。ポップアップメニューの下部、**[デフォルト値]** のすぐ上にある **[ダイアログコードフック]** セクションを見つけてください。

        また、誘発のたびに関数を呼び出すこともできます。これを行うには、**[スロットプロンプト]** セクションの **[ボット誘発情報]** を展開し、**[その他のプロンプトオプション]** を選択し、**[誘発のたびに Lambda コードフックを呼び出す]** の横にあるチェックボックスを選択します。
      + **インテント確認**用の関数を呼び出すには、**[確認]** セクションまでスクロールし、**[インテントを確認するプロンプトを表示]** の横にある矢印を展開してインテントを確認し、**[詳細オプション]** を選択します。ポップアップメニューの下部にある **[ダイアログコードフック]** セクションを探してください。
      + **インテントフルフィルメント**用の関数を呼び出すには、**[フルフィルメント]** セクションまでスクロールします。**[アクティブ]** ボタンを切り替えて、コードフックを**アクティブに設定します。**[フルフィルメントが成功した場合]** の横にある矢印を展開し、**[詳細オプション]** を選択します。**[フルフィルメント Lambda コードフック]** セクションの下にある **[フルフィルメントに Lambda 関数を使用]** の横にあるチェックボックスを選択して、コードフックを*有効*に設定します。

1. Lambda 関数を呼び出す会話ステージを設定したら、ボットを再度 **[構築]** して関数をテストします。