

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

# Amazon Connect： AWS Lambda function 中的流程區塊
<a name="invoke-lambda-function-block"></a>

本主題定義呼叫的流程區塊 AWS Lambda。擷取的回應可用於 [設定聯絡屬性](set-contact-attributes.md) 區塊。

## Description
<a name="invoke-lambda-function-block-description"></a>
+ 呼叫 AWS Lambda。
+ 傳回的資料可用於在 [設定聯絡屬性](set-contact-attributes.md) 區塊中設定聯絡屬性。
+ 如需範例，請參閱 [教學課程：建立 Lambda 函數並在流程中調用](connect-lambda-functions.md#tutorial-invokelambda)。

## 支援的頻道
<a name="invoke-lambda-channels"></a>

下表列出此區塊如何轉接使用指定頻道的聯絡人。


| Channel | 支援？ | 
| --- | --- | 
| 語音 | 是 | 
| 聊天 | 是 | 
| 任務 | 是 | 
| Email | 是 | 

## 流程類型
<a name="invoke-lambda-function-block-types"></a>

您可以在下列[流程類型](create-contact-flow.md#contact-flow-types)中使用此區塊：
+ 入站流程
+ 客戶佇列流程
+ 客戶保留通話流程
+ 客戶低語流程
+ 客服人員保留流程
+ 客服人員低語流程
+ 轉接客服人員流程 
+ 轉接至佇列流程

## Properties
<a name="invoke-lambda-function-block-properties"></a>

下圖顯示 **AWS Lambda 函數** 區塊的 **屬性** 頁面。

![\[AWS Lambda 函數區塊的屬性頁面。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/aws-lamdba-function-properties.png)


在**選取動作**方塊中，從下列選項中選擇：
+ [調用 Lambda](#properties-invoke-lamdba)
+ [載入 Lambda 結果](#properties-load-lamdba) (如果以非同步方式執行)

### 調用 Lambda
<a name="properties-invoke-lamdba"></a>

![\[[選取動作] 方塊設定為 [調用 Lambda]，執行模式選項。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/invoke-lambda-properties2.png)


當**選取動作**設定為**調用 Lambda** 時，請注意下列屬性：
+ **執行模式**：
  + **同步**：選取 [同步] 時，只有在 Lambda 調用完成後，聯絡才會轉接到下一個區塊。
  + **非同步**：聯絡會轉接至下一個區塊，不等待 Lambda 完成。

    您可以設定 [等候](wait.md) 區塊等待使用非同步執行模式調用的 Lambda。
+ **逾時**：輸入 Lambda 在逾時前的等待時間。**同步模式**最多可輸入 8 秒，**非同步模式**最多可輸入 60 秒。

  如果 Lambda 呼叫受到調節，則會重試請求。如果發生一般服務故障 (500 錯誤)，也會重試請求。

  當 Lambda 調用傳回錯誤時，Amazon Connect 最多重試 3 次，最多到指定的逾時為止。此時，會將聯絡案例向下轉接到**錯誤**分支。
+ **回應驗證**：Lambda 函式回應可以是 STRING\$1MAP 或 JSON。您必須在流程中設定 **AWS Lambda 函式**區塊時加以設定。
  + 回應驗證設定為 STRING\$1MAP 時，Lambda 函式會傳回字串類型鍵/值對的一般物件。
  + 回應驗證設定為 JSON 時，Lambda 函式會傳回任何有效的 JSON，包括巢狀 JSON。

### 載入 Lambda 結果
<a name="properties-load-lamdba"></a>

![\[Config 索引標籤上的 Load Lambda AWS Lambda 結果動作。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/load-lambda-result.png)


當**選取動作**設定為**載入 Lambda 結果**時，請注意下列屬性：
+ **Lambda 調用 RequestId**：這是在**非同步模式下**執行的 Lambda requestId。

  `$.LambdaInvocation.InvocationId` 包含最近非同步執行 Lambda 的 requestId。

當您選擇**載入 Lambda 結果**動作時，請在 **Lambda 調用 RequestId** 下選擇下列選項：
+ **命名空間** = **Lambda 調用**
+ **索引鍵** = **調用 ID**

## 組態提示
<a name="invoke-lambda-function-block-tips"></a>
+ 若要在流程中使用 AWS Lambda 函數，請先將 函數新增至執行個體。如需詳細資訊，請參閱[新增 Lambda 函數至 Amazon Connect 執行個體](connect-lambda-functions.md#add-lambda-function)。
+ 函數新增到執行個體後，您便可以從區塊內的 **選擇函數** 下拉式清單選擇一個函數，並在流程中使用該函數。

## 已設定的區塊
<a name="invoke-lambda-function-block-configured"></a>

下圖顯示設定此區塊時的外觀範例。它有兩個分支：**成功** 和 **錯誤**。其設定為**非同步**執行模式。設定為**同步**執行模式時，會有一個**逾時**分支。

![\[設定的 AWS Lambda 函數區塊。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/invoke-lambda-configured.png)


## 流程範例
<a name="invoke-lambda-function-block-samples"></a>

Amazon Connect 包括一組流程範例。如需說明如何在流程設計工具中存取流程範例的指示，請參閱 [Amazon Connect 中的範例流程](contact-flow-samples.md)。以下是描述包含此區塊之流程範例的主題。

[Amazon Connect 中的範例 Lambda 整合流程](sample-lambda-integration.md)

## 案例
<a name="invoke-lambda-function-block-scenarios"></a>

如需使用此區塊的案例，請參閱下列主題：
+ [授予 Amazon Connect 存取函數的權限 AWS Lambda](connect-lambda-functions.md)