

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 Lambda 函數的值儲存為 Amazon Connect 中的聯絡屬性
<a name="attribs-with-lambda"></a>

從您組織內部使用的系統擷取資料，例如訂購系統或其他具有 Lambda 函數的資料庫，並將值存放​為屬性，之後可在流程中參考。

​Lambda 函數會以資料鍵值對的形式傳回內部系統的回應。您可以參考外部命名空間傳回的值。例如 `$.External.attributeName`。之後若要在​流程中使用屬性，您可以使用**設定聯絡屬性**區塊將鍵值對複製到使用者定義的屬性。接下來，您就可以使用**檢查聯絡屬性**區塊，根據屬性值定義聯絡的分支邏輯。任何從 Lambda 函數擷取的聯絡屬性，都將在您調用任何其他 Lambda 函數時遭到覆寫。如果您之後想要在​流程中參考外部屬性，請務必存放這些屬性。

**提示**  
如需從流程調用 Lambda 函數的相關資訊，請參閱 [授予 Amazon Connect 存取函數的權限 AWS Lambda](connect-lambda-functions.md)。此主題也會說明如何使用 Lambda 函數回應。

**將從 Lambda 函數取得的外部值​存放為聯絡屬性**

1. 在 Amazon Connect 中，選擇 **轉接**、**聯絡流程**。

1. 選擇現有的流程或建立新流程。

1. 新增一個 [AWS Lambda 函數](invoke-lambda-function-block.md) 區塊，然後選擇區塊標題以開啟區塊的設定。

1. 將**函數 ARN** 新增至從內部系統擷取客戶資料的 AWS Lambda 函數。

1. 在 [AWS Lambda 函數](invoke-lambda-function-block.md) 區塊後面新增**設定聯絡屬性**區塊，並將 [AWS Lambda 函數](invoke-lambda-function-block.md) 區塊的**成功**分支連接到該處。

1. 編輯**設定聯絡屬性**​區塊，然後選擇**使用屬性**​。

1. 對於**目的地金鑰**，輸入要做為屬性參考的名稱，例如 customerName。這是您在其他參考此屬性的區塊中用於**屬性**欄位的值。

1. 對於 **類型**，請選擇 **外部**。

1. 對於 **屬性**，請輸入從 Lambda 函數傳回的屬性名稱。從函數傳回的屬性名稱會依您的內部系統及您使用的函數而不同。

​在流程執行此區塊後，值會儲存為使用者定義屬性，並以**目的地索引鍵**指定的名稱命名，此範例中為 *customerName*。這個值可以在任何使用動態屬性的區塊中存取。​

​若要依據外部屬性的值 (例如帳戶號碼) 將流程進行分支，請使用 **檢查聯絡屬性**​ 區塊，然後加入要與屬性值比較的條件。接下來，根據條件將流程進行分支。

****

1. 在**檢查聯絡屬性**區塊的**要檢查的屬性**​中，進行以下任一步驟：
   + 對於 **類型** 選擇 **外部**，然後在 **屬性** 欄位中輸入從 Lambda 函數傳回的索引鍵名稱。
**重要**  
當您叫用任何其他 Lambda AWS Lambda 函數時，從 函數傳回的任何屬性都會遭到覆寫。之後若要在流程中參考這些屬性，請將這些屬性存放為使用者定義的屬性。
   + 選取**使用者定義**作為**類型**，然後在**屬性**欄位中輸入您在**設定聯絡屬性**區塊中指定為**目的地索引鍵**的名稱。

1. 選擇**新增其他條件**。

1. 在**要檢查的條件**下，選擇條件的運算子，然後輸入要與屬性值比較的值。區塊會為您輸入的每個比較產生一個分支，​讓您根據指定的條件來轉接聯絡。如果沒有相符的條件，聯絡會取得區塊的**無相符**分支。