

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将来自 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. 在**要检查的条件**下，选择条件运算符，然后输入一个要与属性值进行比较的值。此数据块会为您输入的每个比较创建一个分支，让您根据指定的条件对联系人进行路由。如果没有条件匹配，则联系人采用数据块的**无匹配项**分支。