

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

# 启用联系分析分段流分析 Contact Lens 对话
<a name="enable-contact-analysis-segment-streams"></a>

默认情况下，未启用联系人分析分段流。本主题介绍如何启用它们。

## 步骤 1：创建 Kinesis 流
<a name="enable-segment-streams-step1"></a>

在您的 Amazon Connect 实例所驻留的同一账户和区域创建数据流。有关说明，请参阅《Amazon Kinesis Data Streams 开发人员指南**》中的[步骤 1：创建数据流](https://docs.aws.amazon.com/streams/latest/dev/tutorial-stock-data-kplkcl-create-stream.html)。

**提示**  
建议为每种类型的数据创建一个单独的流。虽然可以将同一个流用于联系人分析分段流、座席事件和联系记录，但是当您为每个流使用单独的流时，管理数据和从流中获取数据要容易得多。有关更多信息，请参阅 [Amazon Kinesis Data Streams 开发人员指南](https://docs.aws.amazon.com/streams/latest/dev/introduction.html)。

## 步骤 2：为 Kinesis 流设置服务器端加密（可选，但建议使用）
<a name="enable-segment-streams-step2"></a>

可通过多种方式执行此操作。
+ 选项 1：使用 Kinesis AWS 托管式密钥 (`aws/kinesis`)。这无需您进行额外的设置即可使用。
+ 选项 2：在您的 Amazon Connect 实例中使用相同的客户自主管理型密钥进行通话录音、聊天转录或导出报告。

  启用加密，并在您的 Amazon Connect 实例中使用客户自主管理型密钥进行通话录音、聊天转录或导出报告。然后为您的 Kinesis 数据流选择相同的 KMS 密钥。此密钥已具有使用所需的权限（授权）。
+ 选项 3：使用其他客户自主管理型密钥。

  使用现有客户自主管理型密钥或创建一个新密钥并添加 Amazon Connect 角色使用相应密钥所需的权限。要使用 AWS KMS 授权添加权限，请参阅以下示例：

  ```
  aws kms create-grant \
      --key-id your key ID \
      --grantee-principal arn:aws:iam::your AWS account ID:role/aws-service-role/connect.amazonaws.com/AWSServiceRoleForAmazonConnect_11111111111111111111 \
      --operations GenerateDataKey \
      --retiring-principal arn:aws:iam::your AWS account ID:role/adminRole
  ```

  其中 `grantee-principal` 是与您的 Amazon Connect 实例关联的服务相关角色的 ARN。要查找服务相关角色的 ARN，请在 Amazon Connect 控制台中，转至**概述**、**分配设置**、**服务相关角色**。

## 步骤 3：关联 Kinesis 流
<a name="enable-segment-streams-step3"></a>

使用 Amazon Connect [AssociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateInstanceStorageConfig.html)API 关联以下资源类型：
+ 对于语音联系，请使用 `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`
+ 对于聊天联系，请使用 `REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS`

**注意**  
`REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` 已被弃用，但仍受支持，且仅适用于语音联系。使用 `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS` 来继续语音联系。  
如果您之前已将流与 `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` 关联，则无需任何操作即可将流更新为 `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`。

指定发布实时联系分析片段的 Kinesis 流。您需要相应的实例 ID 和 Kinesis 流 ARN。下方代码显示了一个示例：

```
// Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS or REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };
```

### AWS CLI
<a name="step3-cli"></a>

下面是聊天联系的示例。

**提示**  
如果您不包括 AWS 区域 (`--region`)，则它将使用基于 CLI 配置文件的默认区域。  
`--storage-config` 参数值不得包含在单引号（'）中，否则会引发错误。

```
aws connect associate-instance-storage-config \
--region "us-west-2" \
--instance-id your Amazon Connect instance ID \
--resource-type REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS \
--storage-config StorageType=KINESIS_STREAM,KinesisStreamConfig={StreamArn=the ARN of your Kinesis stream}
```

### AWS SDK
<a name="step3-sdk"></a>

下面是语音联系的示例。

```
import { Connect } from 'aws-sdk';

async function associate (): Promise <void> {
  const clientConfig: Connect.ClientConfiguration = {
    region: 'the Region of your Amazon Connect instance',
  };

  const connect = new Connect(clientConfig);

  // Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };

  try {
    // Execute request
    const response: Connect.Types.AssociateInstanceStorageConfigResponse = await connect.associateInstanceStorageConfig(request).promise();

    // Process response
    console.log('raw response: ${JSON.stringify(response, null, 2)}');
  } catch (err) {
    console.error('Error calling associateInstanceStorageConfig. err.code: ${err.code},' +
      'err.message: ${err.message}, err.statusCode: ${err.statusCode}, err.retryable: ${err.retryable}');
  }
}

associate().then(r => console.log('Done'));
```

## 步骤 4：为您的 Amazon Connect 实例启用 Contact Lens
<a name="enable-segment-streams-step4"></a>

有关说明，请参阅[在 Amazon Connect Contact Lens 中启用对话分析](enable-analytics.md)。

## 步骤 5（可选）：查看示例分段流
<a name="enable-segment-streams-step5"></a>

建议您查看[语音](sample-real-time-contact-analysis-segment-stream.md)或[聊天](chat-sample-real-time-contact-analysis-segment-stream.md)示例分段流，以熟悉其外观。