

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

# 使用 Amazon EventBridge 事件來追蹤畫面錄製狀態
<a name="track-screen-recording-status"></a>

使用 Amazon EventBridge，您可以近乎即時地檢視[客服人員畫面錄製](agent-screen-recording.md)的狀態。每個客服人員畫面錄製的事件包括成功/失敗狀態、失敗代碼與描述、錄製位置、錄製大小、已安裝的用戶端版本，以及畫面錄製開始和結束時間。

您可以與其他 AWS 服務整合，以取得客服人員畫面錄製的分析或監控洞見：
+ 使用 [Amazon CloudWatch Log Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 查詢
+ 在 [Amazon Quick](https://aws.amazon.com/quicksight/) 儀表板中取得近乎即時的提醒
+ 在 Amazon Connect 外部建立彙總報告
+ 將您的其他自訂資料管道解決方案與 Amazon EventBridge 連線

**Topics**
+ [Amazon EventBridge 事件承載格式](#eventbridge-payload-formats)
+ [建立規則以符合 Amazon EventBridge 事件](#create-eventbridge-rule)
+ [設定所建立 Amazon EventBridge 規則的目標](#configure-eventbridge-target)

## Amazon EventBridge 事件承載格式
<a name="eventbridge-payload-formats"></a>

### 具有畫面錄製狀態的事件 - INITIATED
<a name="event-initiated"></a>

客服人員接受聯絡人時，會針對啟用客服人員畫面錄製的每個聯絡人發出此事件，這可能是記錄開始之前。

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "INITIATED",  
    "eventDeduplicationId": "unique_uuid",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    }  
  }  
}
```

### 具有畫面錄製狀態的事件 - 已完成
<a name="event-completed"></a>

在客服人員桌面上結束畫面錄製時，會發出此事件。這並不表示螢幕錄製已成功上傳到您的 Amazon S3 儲存貯體。

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "COMPLETED",  
    "eventDeduplicationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    },  
    "recordingInfo": {  
      "startTime": "2026-01-01T00:00:00.000Z",  
      "endTime": "2026-01-01T00:00:00.000Z",  
    }  
  }  
}
```

### 具有畫面錄製狀態的事件 - PUBLISHED
<a name="event-published"></a>

當畫面錄製成功上傳至 Amazon S3 儲存貯體時，會發出此事件。詳細資訊包括 Amazon S3 儲存貯體位置、記錄大小和記錄持續時間。

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "contactArn",  
    "instanceArn"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "PUBLISHED",  
    "eventDeduplicationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    },  
    "recordingInfo": {  
      "startTime": "2026-01-01T00:00:00.000Z",  
      "endTime": "2026-01-01T00:00:00.000Z",  
      "publishTime": "2026-01-01T00:00:00.000Z",  
      "location": "s3://your-bucket-name/object-prefix/object-key",  
      "durationInMillis": 100000,  
      "sizeInBytes": 1000000  
    }  
  }  
}
```

### 具有畫面錄製狀態的事件 - 失敗
<a name="event-failed"></a>

如果畫面錄製失敗，則會發出此事件。提供失敗資訊的詳細資訊，做為我們能夠偵測的可能失敗原因的最佳方法估算。

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/cccccccc-cccc-cccc-cccc-ccccccccccccc",  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "FAILED",  
    "eventDeduplicationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/cccccccc-cccc-cccc-cccc-ccccccccccccc",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    },  
    "failureInfo": {  
      "code": "UNKNOWN",  
      "message": "UNKNOWN",  
      "source": "Unknown failure"  
    },  
    "recordingInfo": {  
      "startTime": "2026-01-01T00:00:00.000Z"  
    }  
  }  
}
```

## 建立規則以符合 Amazon EventBridge 事件
<a name="create-eventbridge-rule"></a>

若要訂閱螢幕錄製狀態的 Amazon EventBridge 事件，您需要建立符合已定義事件來源和事件詳細資訊類型的 Amazon EventBridge 規則。這可以透過 AWS 主控台或 AWS CDK 程式庫達成。

### 使用 AWS 主控台建立規則
<a name="create-rule-console"></a>

在 AWS 主控台中，在 Amazon EventBridge 中建立新規則 → 匯流排 → 規則。

#### 使用預設事件匯流排
<a name="use-default-event-bus"></a>

![顯示預設事件匯流排選項的建立規則頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/screen-recording-eventbridge-event-rule.png)


#### 使用範本事件模式
<a name="use-template-event-pattern"></a>

從下拉式清單中選取定義的事件模式。

![事件來源下拉式清單顯示已選取 aws.connect。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/screen-recording-eventbridge-event-source.png)


![顯示已選取畫面錄製狀態已變更的事件模式。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/screen-recording-eventbridge-event-pattern.png)


如果事件類型未顯示在下拉式清單中，您也可以使用**自訂模式 (JSON 編輯器） 搭配下列項目建立相同的模式**：

```
{  
  "source": [ "aws.connect" ],  
  "detailType": [ "Screen Recording Status Changed" ]  
}
```

### 使用 建立規則 AWS CDK
<a name="create-rule-cdk"></a>

或者，如果您使用 管理 AWS 資源 AWS CDK，以下是用來建構 Amazon EventBridge 規則的範例 TypeScript 程式碼片段：

```
import { Rule } from 'aws-cdk-lib/aws-events';  
  
const eventBridgeRule = new Rule(this, 'YourEventBridgeRuleLogicalName', {  
    ruleName: 'your-event-bridge-rule-name',  
    description: 'your rule description',  
    eventPattern: {  
        source: [ "aws.connect" ],  
        detailType: [ "Screen Recording Status Changed" ]  
    }  
});
```

## 設定所建立 Amazon EventBridge 規則的目標
<a name="configure-eventbridge-target"></a>

Amazon EventBridge 支援許多 AWS 服務做為目標。根據您的需求，您可以靈活地與其他 AWS 服務一起建置自己的事件處理管道。您最多可以為每個規則定義五個目標。如需詳細資訊，請參閱 *Amazon EventBridge 使用者指南*中的 [Amazon EventBridge 目標](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。

### Amazon CloudWatch 日誌群組做為範例目標
<a name="cloudwatch-log-group-target"></a>

下列範例使用 [Amazon CloudWatch 日誌群組](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)做為目標。

![顯示已選取 CloudWatch 日誌群組的目標組態。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/screen-recording-eventbridge-target-cwl.png)


在 AWS CDK 程式碼中，建立資源並將其新增至 Amazon EventBridge 規則：

```
import { LogGroup, RetentionDays } from "aws-cdk-lib/aws-logs";  
import { CloudWatchLogGroup } from 'aws-cdk-lib/aws-events-targets';  
   
const logGroup = new LogGroup(this, 'YourLogGroupLogicalName', {  
    logGroupName: '"/aws/events/your-log-group-name',  
    retention: RetentionDays.ONE_YEAR  
});  
  
eventBridgeRule.addTarget(new CloudWatchLogGroup((logGroup)));
```

#### Amazon CloudWatch Log Insights 查詢範例
<a name="cloudwatch-log-insights-queries"></a>

使用 Amazon CloudWatch Insights 查詢語言，以下是一些範例查詢：
+ **成功率的範例查詢**

  ```
  fields @timestamp, @message, detail  
  | stats sum(detail.recordingStatus= "PUBLISHED") as Count_Success,   
    sum(detail.recordingStatus= "INITIATED") as Count_Total,   
    Count_Success / Count_Total as Success_Ratio
  ```
+ **取得每個記錄狀態計數的範例查詢**

  ```
  fields @timestamp, @message, detail  
  | stats count(*) as Count group by detail.recordingStatus as recordingStatus
  ```
+ **具有最常見失敗代碼之失敗聯絡人的範例查詢**

  ```
  fields @timestamp, @message, detail  
  | filter detail.recordingStatus = "FAILED"   
  | stats count(*) as Count group by detail.failureInfo.code as FailureCode  
  | sort by Count desc
  ```
+ **大部分聯絡失敗的客服人員範例查詢**

  ```
  fields @timestamp, @message, detail  
  | filter detail.recordingStatus = "FAILED"   
  | stats count(*) as Count group by detail.agentArn as AgentArn  
  | sort by Count desc
  ```