View a markdown version of this page

使用亚马逊 EventBridge 事件追踪屏幕录制状态 - Amazon Connect Customer

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

使用亚马逊 EventBridge 事件追踪屏幕录制状态

借助亚马逊 EventBridge,您可以近乎实时地查看代理屏幕录像的状态。每个代理屏幕录制的事件包括 success/failure 状态、故障代码和描述、录制位置、录制大小、已安装的客户机版本以及屏幕录制的开始和结束时间。

注意

亚马逊的屏幕录制状态追踪功能 EventBridge 适用于支持 Connect 客户代理屏幕录制的每个 AWS 地区, AWS GovCloud (US-West) 除外。

您可以与其他 AWS 服务集成,以获得代理屏幕录像的分析或监控见解:

亚马逊 EventBridge 事件负载格式

屏幕录制状态的事件-已启动

当代理接受联系人时(可能是在录制开始之前),对于启用了代理屏幕录制的每位联系人,都会发出此事件。

{ "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": "3.0.2.0", } } }

带有屏幕录制状态的事件-已完成

当代理桌面上的屏幕录制结束时,会发出此事件。这并不意味着屏幕录像已成功上传到您的 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": "3.0.2.0", }, "recordingInfo": { "startTime": "2026-01-01T00:00:00.000Z", "endTime": "2026-01-01T00:00:00.000Z", } } }

带有屏幕录制状态的事件-已发布

当屏幕录像成功上传到您的 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": "3.0.2.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/connect/your-instance-alias/object-prefix/object-key", "durationInMillis": 100000, "sizeInBytes": 1000000 } } }

带有屏幕录制状态的事件-失败

如果屏幕录制失败,则会发出此事件。故障信息包括对我们能够检测到的可能故障原因的最大努力估计。

{ "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": "3.0.2.0", }, "failureInfo": { "code": "UNKNOWN", "message": "Unknown failure", "source": "UNKNOWN" }, "recordingInfo": { "startTime": "2026-01-01T00:00:00.000Z" } } }

下表列出了该failureInfo对象中可能的值。

代码 message source
CLIENT_LOCAL_NETWORK_ACCESS_BLOCKED 浏览器的本地网络访问策略阻止了与 Amazon Connect 客户端应用程序的连接 CLIENT
CLIENT_APP_NOT_RUNNING Amazon Connect 客户端应用程序未在代理的桌面上运行 CLIENT
CLIENT_UNSUPPORTED_OS 不支持代理的操作系统进行屏幕录制 CLIENT
CLIENT_AUTH_ERROR Amazon Connect 客户端应用程序无法进行身份验证 CLIENT
CLIENT_CONNECTION_ERROR Amazon Connect 客户端应用程序未连接 CLIENT
MULTIPLE_CCP_INTERACTION 检测到浏览器与 CCP 的多次交互 CLIENT
USER_ERROR 请求遇到用户配置错误 CLIENT
SERVICE_ISSUE 请求遇到服务异常 SERVICE
UNKNOWN 未知故障 UNKNOWN

创建匹配亚马逊 EventBridge 事件的规则

要订阅亚马逊 EventBridge 事件以了解屏幕录制状态,您需要创建与定义的事件源和事件详细信息类型相匹配的亚马逊 EventBridge 规则。这可以通过 AWS 控制台或 AWS CDK 库来实现。

使用创建规则 AWS 控制台

在 AWS 控制台中,在亚马逊 EventBridge → 巴士 → 规则中创建新规则。

使用默认事件总线

显示默认事件总线选择的 “创建规则” 页面。

使用模板事件模式

从下拉列表中选择已定义的事件模式。

显示 aws.connect 已选中的事件源下拉列表。
显示屏幕录制状态已更改的事件模式已选中。

如果事件类型未显示在下拉列表中,您也可以使用自定义模式(JSON 编辑器)创建相同的模式,包括:

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

使用创建规则 AWS CDK

或者,如果您使用管理 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" ] } });

配置创建的亚马逊 EventBridge 规则的目标

亚马逊 EventBridge 支持将多种 AWS 服务作为目标。根据您的需求,可以灵活地使用其他 AWS 服务构建自己的事件处理管道。您最多可以为每条规则定义五个目标。有关更多信息,请参阅亚马逊 EventBridge 用户指南中的亚马逊 EventBridge 目标。

CloudWatch 以亚马逊日志组为示例目标

以下示例使用亚马逊 CloudWatch 日志组作为目标。

显示选定 CloudWatch 日志组的目标配置。

在 AWS CDK 代码中,创建资源并将其添加到亚马逊 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)));

亚马逊 CloudWatch 日志见解查询示例

使用 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