

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

# Lambda 関数の値を Amazon Connect の問い合わせ属性として保存する
<a name="attribs-with-lambda"></a>

注文システムや Lambda 関数を使用した他のデータベースなど、組織内部が使用するシステム  からデータを取得して、後からフローで参照できる属性としてその値を保存します。

内部システムから Lambda 関数が返す応答は、キーと値のペアからなるデータです。戻り値は外部名前空間で参照できます。例えば、`$.External.attributeName`。後からフローで属性を使用するには、**[問い合わせ属性の設定]** ブロックを使って、キーと値のペアをユーザー定義属性にコピーできます。その後で、[**問い合わせ属性を確認する**] ブロックを使用し、属性値に基づいて問い合わせをブランチするロジックを定義できます。Lambda 関数から取得された問い合わせ属性は、他の Lambda 関数を呼び出すと上書きされます。後からフローで外部属性を参照する場合は、外部属性を保存します。

**ヒント**  
フローから Lambda 関数を呼び出す方法については、「[AWS Lambda 関数へのアクセスを Amazon Connect に許可する](connect-lambda-functions.md)」を参照してください。このトピックでは、Lambda 関数のレスポンスを使用する方法も説明しています。

**Lambda 関数が返す外部の値を、問い合わせ属性として保存する**

1. Amazon Connectで、**[Routing]** (ルーティング)、**[Contact flows]** (問い合わせフロー) の順にクリックします。

1. 既存のフローを選択するか、新しく作成します。

1. [[AWS Lambda 関数](invoke-lambda-function-block.md)] ブロックを追加し、ブロックのタイトルを選択してブロックの設定を開きます。

1. 内部システムから顧客データを取得する関数に AWS Lambda 関数 **ARN** を追加します。

1. [[AWS Lambda 関数](invoke-lambda-function-block.md)] ブロックの後に **[コンタクト属性の設定]** ブロックを追加し、それに [[AWS Lambda 関数](invoke-lambda-function-block.md)] ブロックの **[成功]** ブランチを接続します。

1. **[コンタクト属性の設定]** ブロックを編集し、**[属性を使用]** を選択します。

1. [**宛先キー**] に、customerName など、属性の参照として使用する名前を入力します。これが、この属性を他のブロックで参照するときに [**属性**] フィールドで使用する値です。

1. **[Type]** (タイプ) の場合、**[External]** (外部) を選択します。

1. **[Attribute]** (属性) には、Lambda 関数から返された属性の名前を入力します。関数から返される属性の名前は、内部システムと使用する関数によって異なります。

フローでこのブロックが実行された後、値はユーザー定義属性として、**[宛先キー]** で指定された名前で保存されます。この場合は *customerName* です。これは、動的な属性を使用するブロックでアクセスできます。

アカウント番号などの外部属性の値に基づいてフローをブランチするには、**[Check contact attributes]** (問い合わせ属性を確認する) ブロックを使用し、その後で属性の値を比較する条件を追加します。次に、条件に基づいてフローをブランチします。

****

1. [**問い合わせ属性を確認する**] ブロックの [**確認する属性**] で次のいずれかを実行します。
   + [**タイプ**] として [**外部**] を選択し、Lambda 関数から返されたキー名を [**属性**] フィールドに入力します。
**重要**  
 AWS Lambda 関数から返された属性は、他の Lambda 関数を呼び出すと上書きされます。フローで後から属性を参照するには、ユーザー定義属性として保存します。
   + **[タイプ]** で **[ユーザー定義]** を選択し、**[属性]** フィールドには、**[コンタクト属性の設定]** ブロックで **[宛先キー]** として指定した名前を入力します。

1. **[Add another condition]** (別の条件を追加) を選択します。

1. [**チェックする条件**] の下で、条件に対する演算子を選択し、属性値と比較する値を入力します。入力した比較ごとにブロックがブランチを作成し、指定した条件に基づいてコンタクトをルーティングします。一致する条件がない場合、問い合わせはブロックから [**一致なし**] ブランチを取ります。