

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

# 使用 Amazon Kinesis Data Streams 存取語音和聊天聯絡的 Contact Lens 分析
<a name="contact-analysis-segment-streams"></a>

聯絡分析區段串流可讓您在語音和聊天聯絡中存取 Contact Lens 分析。串流可克服現有[通話和聊天分析 API](contact-lens-api.md) 的擴展限制。針對語音聯絡，還提供對名為 `Utterance` 的資料區段的存取，允許您存取部分文字記錄。這使您能夠滿足超低延遲要求，以協助客服人員進行即時通話。

本節說明如何與 Amazon Kinesis Data Streams 整合以進行串流。

透過串流，您可以收到下列事件類型：
+ 在聯絡分析工作階段開始時發布的 STARTED 事件。
+ 在聯絡分析工作階段期間發布 SEGMENTS 事件。這些事件包含具有分析資訊的區段清單。
+ 在聯絡分析工作階段結束時發布的「COMPLETED」或「FAILED」事件。

**Topics**
+ [啟用聯絡分析區段串流](enable-contact-analysis-segment-streams.md)
+ [語音：對話分析區段串流的資料模型](real-time-contact-analysis-segment-streams-data-model.md)
+ [聊天：對話分析區段串流的資料模型](chat-real-time-contact-analysis-segment-streams-data-model.md)
+ [語音：範例對話分析區段串流](sample-real-time-contact-analysis-segment-stream.md)
+ [聊天：範例對話分析區段串流](chat-sample-real-time-contact-analysis-segment-stream.md)

# 啟用聯絡分析區段串流以分析 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
  ```

  與您的 Amazon Connect 執行個體相關聯的服務連結角色的 ARN 在 `grantee-principal`。若要尋找服務連結角色的 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 開發套件
<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)範例區段串流，以熟悉其看起來的樣子。

# 對話分析區段串流的資料模型，用來分析 Contact Lens 中的語音聯絡
<a name="real-time-contact-analysis-segment-streams-data-model"></a>

即時聯絡分析細分流以 JSON 生成。對於每個已啟用即時對話分析的聯絡，事件 JSON 都會發布至相關聯的串流。您可以為語音聯絡的對話分析工作階段發布下列類型的事件：
+ STARTED 事件 - 每個對話分析工作階段都會在工作階段開始時發布一個 STARTED 事件。
+ SEGMENTS 事件 - 每個對話分析工作階段都可能在工作階段期間發佈零或多個 SEGMENTS 事件。這些事件包含具有分析資訊的區段清單。對於語音聯絡，區段清單可能包含「`Utterance`」、「`Transcript`」、「`Categories`」或「`PostContactSummary`」區段。
+ COMPLETED 或 FAILED 事件 - 每個對話分析工作階段都會在工作階段結束時發布一個 COMPLETED 或 FAILED 事件。

## 語音聯絡的所有事件中包含的共同屬性
<a name="segment-streams-data-model-common-properties"></a>

每個事件含有以下屬性：

**版本**  
事件結構描述的版本。  
類型：字串

**Channel**  
此聯絡管道的類型。  
類型：字串  
有效值：`VOICE`、`CHAT`、`TASK`  
如需頻道的詳細資訊，請參閱 [在 Amazon Connect 中轉接聯絡人的頻道和並行](channels-and-concurrency.md)。

**AccountId**  
發生此聯絡所在帳戶的識別碼。  
類型：字串

**ContactId**  
正在分析的聯絡識別碼。  
類型：字串

**InstanceId**  
發生此聯絡所在的執行個體識別碼。  
類型：字串 

**LanguageCode**  
與此聯絡關聯的語言代碼。  
類型：字串   
有效值：[Contact Lens 即時通話分析支援的語言](supported-languages.md#supported-languages-contact-lens)之一的語言代碼。

**EventType**  
已發布的事件類型。  
類型：字串  
有效值：`STARTED`、`SEGMENTS`、`COMPLETED`、`FAILED`

## STARTED 事件
<a name="segment-streams-data-model-started-event"></a>

`STARTED` 事件僅包括通用屬性：
+ 版本
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType：STARTED

## SEGMENTS 事件
<a name="segment-streams-data-model-segments-event"></a>

`SEGMENTS` 事件包括下列屬性：
+ 版本
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType：SEGMENTS
+ 區段：除了通用屬性之外，`SEGMENTS` 事件還包括具有分析資訊的區段清單。

  類型：[區段](#segment)物件的陣列
+ PostContactSummary：語音聯絡區段的聯絡後摘要的相關資訊。

  類型：[PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html) 物件 

  必要：否

**區段**  
即時分析工作階段的分析區段。  
每個區段都是具有下列選用屬性的物件。視區段類型而定，僅存在下列屬性之一：  
+ 表達用語
+ 文字記錄
+ 類別
+ PostContactSummary

**表達用語**  
經分析的表達用語。  
必要：否  
+ **Id**

  表達用語的識別碼。

  類型：字串
+ ** TranscriptId**

  與此表達用語關聯的文字記錄識別碼。

  類型：字串
+ **ParticipantId**

  參與者的識別碼。

  類型：字串
+ ** ParticipantRole**

  參與者的角色。例如，是客戶、客服人員或是系統。

  類型：字串
+ ** PartialContent**

  表達用語的內容。

  類型：字串
+ ** BeginOffsetMillis**

  此文字記錄聯絡中的開始偏移。

  類型：整數
+ ** EndOffsetMillis**

  此文字記錄聯絡中的結束偏移。

  類型：整數

**文字記錄**  
經分析的文字記錄。  
類型：[文字記錄](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Transcript.html)物件   
必要：否

**類別**  
符合的類別規則。  
類型：[類別](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Categories.html)物件  
必要：否

**PostContactSummary**  
語音聯絡區段的聯絡後摘要的相關資訊。  
類型：[PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html) 物件  
必要：否

## COMPLETED 事件
<a name="segment-streams-data-model-completed-event"></a>

`COMPLETED` 事件僅包括下列通用屬性：
+ 版本
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType：COMPLETED

## 失敗的事件
<a name="segment-streams-data-model-failed-event"></a>

`FAILED` 事件僅包括下列通用屬性：
+ 版本
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType：FAILED

# 對話分析區段串流的資料模型，用來分析 Contact Lens 中的聊天
<a name="chat-real-time-contact-analysis-segment-streams-data-model"></a>

聊天聯絡的對話分析區段串流會以 JSON 的形式產生。對於每個已啟用即時對話分析的聯絡，事件 JSON 都會發布至相關聯的串流。您可以為聊天聯絡的對話分析工作階段發布下列類型的事件：
+ STARTED 事件 - 每個對話分析工作階段都會在工作階段開始時發布一個 STARTED 事件。
+ SEGMENTS 事件 - 每個對話分析工作階段都可能在工作階段期間發佈零或多個 SEGMENTS 事件。這些事件包含具有分析資訊的區段清單。對於聊天聯絡，區段清單可能包含「`Attachments`」、「`Transcript`」、「`Categories`」、「`Events`」、「`Issues`」或「`PostContactSummary`」區段。
+ COMPLETED 或 FAILED 事件 - 每個對話分析工作階段都會在工作階段結束時發布一個 COMPLETED 或 FAILED 事件。

## 聊天聯絡的所有事件中包含的共同屬性
<a name="chat-segment-streams-data-model-common-properties"></a>

每個事件含有以下屬性：

**版本**  
事件結構描述的版本。對於聊天聯絡，此項目為 2.0.0。  
類型：字串

**Channel**  
此聯絡管道的類型。  
類型：字串  
有效值：`VOICE`、`CHAT`、`TASK`  
如需頻道的詳細資訊，請參閱 [在 Amazon Connect 中轉接聯絡人的頻道和並行](channels-and-concurrency.md)。

**AccountId**  
發生此聯絡所在帳戶的識別碼。  
類型：字串

**InstanceId**  
發生此聯絡所在的執行個體識別碼。  
類型：字串 

**ContactId**  
正在分析的聯絡識別碼。  
類型：字串

**StreamingEventType**  
已發布的事件類型。  
類型：字串   
有效值：`STARTED`、`SEGMENTS`、`COMPLETED`、`FAILED`

**StreamingSettings**  
此聯絡的 Contact Lens 設定  
類型：[StreamingSettings](#streamingsettingsobject) 物件 

## StreamingSettings 物件
<a name="streamingsettingsobject"></a>

**LanguageCode**  
與此聯絡關聯的語言代碼。  
類型：字串   
有效值：[Contact Lens 即時通話分析支援的語言](supported-languages.md#supported-languages-contact-lens)之一的語言代碼。

**Output**  
為此聯絡啟用的 Contact Lens 輸出類型。  
類型：字串  
有效值：`Raw`、`Redacted`、`RedactedAndRaw`

**RedactionTypes**  
為此聯絡啟用的修訂類型。  
類型：字串陣列  
有效值：`PII`

**RedactionTypesMetadata**  
每個修訂類型的修訂中繼資料。  
類型：[RedactionMetadata](#redactionmetadata) 物件的 RedactionType 字串   
有效值：`PII`

## RedactionMetadata 物件
<a name="redactionmetadata"></a>

提供修訂設定的相關資訊。

**RedactionMaskMode**  
資料修訂取代設定  
類型：字串   
有效值：`PII`、`EntityType`

## STARTED 事件
<a name="chat-segment-streams-data-model-started-event"></a>

`STARTED` 事件僅包括通用屬性：
+ 版本
+ Channel
+ AccountId
+ ContactId
+ StreamingEventType：STARTED
+ StreamingSettings

## SEGMENTS 事件
<a name="chat-segment-streams-data-model-segments-event"></a>

`SEGMENTS` 事件包括下列屬性：
+ 版本
+ Channel
+ AccountId
+ OutputType
  + 目前區段的 Contact Lens 輸出類型
  + 類型：字串
  + 有效值：`Raw`、`Redacted`
+ ContactId
+ StreamingEventType：SEGMENTS
+ StreamingSettings
+ 客群
  + 分析資訊的區段清單。
  + 類型：[區段](#chat-segment)物件的陣列

**區段**  
即時分析工作階段的分析區段。  
每個區段都是具有下列選用屬性的物件。視區段類型而定，僅存在下列屬性之一：  
+  [附件](#chat-attachments)
+  [類別](#chat-category)
+  [事件](#chat-event)
+  [問題](#chat-issues)
+  [文字記錄](#chat-transcript)
+ [PostContactSummary](#chat-postcontactsummary)

**附件**  
已分析的附件。  
必要：否  
類型：[RealTimeContactAnalysisSegmentAttachments](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentAttachments.html) 物件

**類別**  
符合的類別規則。  
類型：[RealTimeContactAnalysisSegmentCategories](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentCategories.html) 物件  
必要：否

**事件**  
描述聯絡事件的區段類型。  
類型：[RealTimeContactAnalysisSegmentEvent](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentEvent.html) 物件  
必要：否

**問題**  
包含偵測到的問題清單的區段類型。  
類型：[RealTimeContactAnalysisSegmentIssues](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentIssues.html) 物件  
必要：否

**文字記錄**  
已分析的文字記錄區段。  
類型：[RealTimeContactAnalysisSegmentTranscript](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentTranscript.html) 物件  
必要：否

**PostContactSummary**  
聊天即時聯絡區段的聯絡後摘要的相關資訊。  
類型：[RealTimeContactAnalysisSegmentPostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentPostContactSummary.html) 物件   
必要：否

## COMPLETED 事件
<a name="chat-segment-streams-data-model-completed-event"></a>

`COMPLETED` 事件僅包括下列通用屬性：
+ 版本
+ Channel
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType：COMPLETED
+ StreamingSettings

## 失敗的事件
<a name="chat-segment-streams-data-model-failed-event"></a>

`FAILED` 事件僅包括下列通用屬性：
+ 版本
+ Channel
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType：FAILED
+ StreamingSettings

# 使用 Contact Lens 分析通話的範例對話分析區段串流
<a name="sample-real-time-contact-analysis-segment-stream"></a>

本主題提供在語音聯絡期間可能發生的 STARTED、SEGMENTS、COMPLETED 和 FAILED 事件的範例區段串流。

## STARTED 事件範例
<a name="sample-started-event"></a>
+ EventType：STARTED
+ 在對話分析工作階段開始時發布。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "STARTED"
}
```

## SEGMENTS 事件範例
<a name="sample-segments-event"></a>
+ EventType：SEGMENTS
+ 在對話分析工作階段期間發布。此事件包含分析資訊的區段清單。區段清單可能包含「`Utterance`」、「`Transcript`」或「`Categories`」或「`PostContactSummary`」區段。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "SEGMENTS",
    "Segments": [
        {
            "Utterance": {
                "Id": "7b48ca3d-73d3-443a-bf34-a9e8fcc01747",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "Hello, thank you for calling Example Corp. My name is Adam.",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22980
            }
        },
        {
            "Utterance": {
                "Id": "75acb743-2154-486b-aaeb-c960ae290e88",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "How can I help you?",
                "BeginOffsetMillis": 23000,
                "EndOffsetMillis": 24598
            }
        },
        {
            "Transcript": {
                "Id": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "Content": "Hello, thank you for calling Example Corp. My name is Adam. How can I help you?",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 24598,
                "Sentiment": "NEUTRAL"
            }
        },
        {
            "Transcript": {
                "Id": "4295e927-43aa-4447-bbfc-8fccc2027530",
                "ParticipantId": "CUSTOMER",
                "ParticipantRole": "CUSTOMER",
                "Content": "I'm having trouble submitting the application, number AX876293 on the portal. I tried but couldn't connect to my POC on the portal. So, I'm calling on this toll free number",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22690,
                "Sentiment": "NEGATIVE",
                "IssuesDetected": [
                    {
                        "CharacterOffsets": {
                            "BeginOffsetChar": 0,
                            "EndOffsetChar": 81
                        }
                    }
                ]
            }
        },
        {
            "Categories": {
                "MatchedCategories": [
                    "CreditCardRelated",
                    "CardBrokenIssue"
                ],
                "MatchedDetails": {
                    "CreditCardRelated": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 19010,
                                "EndOffsetMillis": 22690
                            }
                        ]
                    },
                    "CardBrokenIssue": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 25000,
                                "EndOffsetMillis": 29690
                            }
                        ]
                    }
                }
            }
        },
        {
            "PostContactSummary": {
                "Content": "Customer contacted Example Corp because of an issue with their application",
                "Status": "COMPLETED"
            }
        }
    ]
}
```

## COMPLETED 事件範例
<a name="sample-completed-event"></a>
+ EventType：COMPLETED
+ 如果分析成功完成，則於對話分析工作階段結束後發布。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "COMPLETED"
}
```

## FAILED 事件範例
<a name="sample-failed-event"></a>
+ EventType：FAILED
+ 如果分析失敗，則於對話分析工作階段結束後發布。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "FAILED"
}
```

# 在 Contact Lens 中分析聊天的範例對話分析串流
<a name="chat-sample-real-time-contact-analysis-segment-stream"></a>

本主題提供在聊天聯絡期間發生的 STARTED、SEGMENTS、COMPLETED 和 FAILED 事件的範例區段串流。

## STARTED 事件範例
<a name="chat-sample-started-event"></a>
+ EventType：STARTED
+ 在對話分析工作階段開始時發布。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "STARTED",
    "StreamingSettings": {
      "LanguageCode": "en-US", // the language code of the contact
      "Output": "RedactedAndRaw",
      "RedactionTypes": [
          "PII"
      ],
      "RedactionTypesMetadata": {
        "PII": {
            "RedactionMaskMode": "PII"
         }
       }
    }
}
```

## SEGMENTS 事件範例
<a name="chat-sample-segments-event"></a>
+ EventType：[SEGMENTS](chat-real-time-contact-analysis-segment-streams-data-model.md#chat-segment-streams-data-model-segments-event) 
+ 在對話分析工作階段期間發布。此事件包含一份 [RealtimeContactAnalysisSegment](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealtimeContactAnalysisSegment.html) 物件清單，內含已分析的資訊。區段清單可能包含 `"Transcript"`、`"Categories"`、`"Issue"`、`"Event"`、`"Attachment"` 或「PostContactSummary」區段。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "OutputType": "Redacted",
    "StreamingEventType": "SEGMENTS",
    "StreamingSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": [
            "PII"
        ],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    },
    "Segments": [{
        "Transcript": {
            "Id": "07a2d668-5c9e-4f69-b2fe-986261b0743a",
            "ParticipantId": "a309ac1e-ca87-44ca-bb5d-197eca8ed77a",
            "ParticipantRole": "AGENT",
            "DisplayName": "[PII]",
            "Content": "Hello, thank you for contacting Example Corp. My name is Ray.",
            "ContentType": "text/markdown",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            },
            "Sentiment": "NEUTRAL"
        }
    }, {
        "Categories": {
            "MatchedDetails": {
                "Hi": {
                    "PointsOfInterest": [{
                        "TranscriptItems": [{
                            "Id": "5205b050-8aa9-4645-a381-a308801649ab",
                            "CharacterOffsets": {
                                "BeginOffsetChar": 0,
                                "EndOffsetChar": 40
                            }
                        }]
                    }]
                }
            }
        }
    }, {
        "Issues": {
            "IssuesDetected": [{
                "TranscriptItems": [{
                    "Content": "I have an issue with my bank account",
                    "Id": "0e5574a7-2aeb-4eab-8bb5-3a7f66a2284a",
                    "CharacterOffsets": {
                        "BeginOffsetChar": 7,
                        "EndOffsetChar": 43
                    }
                }]
            }]
        }
    }, {
        "Attachments": {
            "Id": "06ddc1eb-2302-4a8e-a73f-37687fe41aa9",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "Attachments": [{
                "AttachmentName": "Lily.jpg",
                "ContentType": "image/jpeg",
                "AttachmentId": "343e34da-391a-4541-8b7e-3909d931fcfa",
                "Status": "APPROVED"
            }],
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            }
        }
    }, {
        "Event": {
            "Id": "fbe61c5f-d0d8-4345-912a-4e81f5734d3b",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "EventType": "application/vnd.amazonaws.connect.event.participant.left",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:40:00.614Z"
            }
        }
    },
    {
        "PostContactSummary": {
            "Content": "Customer contacted Example Corp because of an issue with their bank account",
            "Status": "COMPLETED"
        }
    }]
}
```

## COMPLETED 事件範例
<a name="chat-sample-completed-event"></a>
+ EventType：COMPLETED
+ 如果分析成功完成，則於對話分析工作階段結束後發布。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "COMPLETED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```

## FAILED 事件範例
<a name="chat-sample-failed-event"></a>
+ EventType：FAILED
+ 如果分析失敗，則於對話分析工作階段結束後發布。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "FAILED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US",
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```