

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Usa EventBridge los eventos de Amazon para rastrear el estado de la grabación de pantalla
<a name="track-screen-recording-status"></a>

Con Amazon EventBridge, puedes ver el estado de las [grabaciones de pantalla de los agentes](agent-screen-recording.md) casi en tiempo real. La grabación de pantalla de cada agente incluye el success/failure estado, los códigos de error con descripciones, la ubicación de la grabación, el tamaño de la grabación, la versión de cliente instalada y las horas de inicio y finalización de la grabación de pantalla.

Puede integrarlo con otros AWS servicios para obtener información analítica o de supervisión de las grabaciones de pantalla de los agentes:
+ Consulta con [Amazon CloudWatch Log Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)
+ Recibe alertas casi en tiempo real en un panel de [Amazon Quick](https://aws.amazon.com/quicksight/)
+ Cree informes agregados fuera de Amazon Connect
+ Conecta tus otras soluciones de canalización de datos personalizadas con Amazon EventBridge

**Topics**
+ [Formatos de carga útil de EventBridge eventos de Amazon](#eventbridge-payload-formats)
+ [Crea una regla que coincida con los EventBridge eventos de Amazon](#create-eventbridge-rule)
+ [Configura el destino de la EventBridge regla de Amazon creada](#configure-eventbridge-target)

## Formatos de carga útil de EventBridge eventos de Amazon
<a name="eventbridge-payload-formats"></a>

### Evento con estado de grabación de pantalla: INICIADO
<a name="event-initiated"></a>

Este evento se emite cuando el agente acepta un contacto, que puede ocurrir antes de que comience la grabación, por cada contacto con el agente habilitada la grabación de pantalla.

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

### Evento con estado de grabación de pantalla: FINALIZADO
<a name="event-completed"></a>

Este evento se emite cuando finaliza la grabación de la pantalla en el escritorio del agente. Esto no significa que la grabación de pantalla se haya cargado correctamente en tu bucket de 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",  
    }  
  }  
}
```

### Evento con estado de grabación de pantalla: PUBLICADO
<a name="event-published"></a>

Este evento se emite cuando la grabación de pantalla se carga correctamente en su bucket de Amazon S3. Los detalles incluyen la ubicación del depósito de Amazon S3, el tamaño y la duración de la grabación.

```
{  
  "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  
    }  
  }  
}
```

### Evento con estado de grabación de pantalla: FALLIDO
<a name="event-failed"></a>

Este evento se emite si se produce un error en la grabación de la pantalla. Los detalles sobre la información sobre el fallo se proporcionan como una estimación exhaustiva del posible motivo del fallo que podemos detectar.

```
{  
  "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"  
    }  
  }  
}
```

## Crea una regla que coincida con los EventBridge eventos de Amazon
<a name="create-eventbridge-rule"></a>

Para suscribirte a EventBridge los eventos de Amazon para obtener el estado de grabación de pantalla, debes crear una EventBridge regla de Amazon que coincida con la fuente y el tipo de detalle del evento definidos. Esto se puede lograr a través de la AWS consola o AWS CDK de las bibliotecas.

### Cree una regla mediante la AWS consola
<a name="create-rule-console"></a>

En la AWS consola, crea una nueva regla en Amazon EventBridge → Autobuses → Reglas.

#### Utilice el bus de eventos predeterminado
<a name="use-default-event-bus"></a>

![La página de creación de reglas que muestra la selección de bus de eventos por defecto.](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/screen-recording-eventbridge-event-rule.png)


#### Utilice un patrón de eventos de plantilla
<a name="use-template-event-pattern"></a>

Seleccione el patrón de eventos definido en las listas desplegables.

![El menú desplegable de la fuente del evento muestra aws.connect seleccionado.](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/screen-recording-eventbridge-event-source.png)


![Se seleccionó el patrón de eventos que muestra el estado de grabación de pantalla modificado.](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/screen-recording-eventbridge-event-pattern.png)


Si el tipo de evento no aparece en la lista desplegable, también puedes crear el mismo patrón usando un **patrón personalizado (editor JSON)** con:

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

### Crea una regla usando AWS CDK
<a name="create-rule-cdk"></a>

Como alternativa, si gestionas AWS los recursos con AWS CDK, aquí tienes un ejemplo de fragmento de TypeScript código para crear una regla de Amazon EventBridge :

```
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" ]  
    }  
});
```

## Configura el destino de la EventBridge regla de Amazon creada
<a name="configure-eventbridge-target"></a>

Amazon EventBridge admite varios AWS servicios como objetivos. En función de tus necesidades, puedes crear tu propia canalización de procesamiento de eventos con otros AWS servicios de forma flexible. Puede definir hasta cinco destinos para cada regla. Para obtener más información, consulta [ EventBridge los objetivos de Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) en la *Guía del EventBridge usuario de Amazon*.

### El grupo de CloudWatch registros de Amazon como objetivo de ejemplo
<a name="cloudwatch-log-group-target"></a>

En el siguiente ejemplo, se utiliza un [grupo de CloudWatch registros de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) como objetivo.

![La configuración de Target muestra el grupo de CloudWatch registros seleccionado.](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/screen-recording-eventbridge-target-cwl.png)


En el AWS CDK código, crea el recurso y agrégalo a la EventBridge regla de Amazon:

```
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)));
```

#### Ejemplo de consultas de Amazon CloudWatch Log Insights
<a name="cloudwatch-log-insights-queries"></a>

Con el lenguaje de consultas de Amazon CloudWatch Insights, estos son algunos ejemplos de consultas:
+ **Ejemplo de consulta sobre la tasa de éxito**

  ```
  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
  ```
+ **Ejemplo de consulta para obtener el recuento de cada estado de grabación**

  ```
  fields @timestamp, @message, detail  
  | stats count(*) as Count group by detail.recordingStatus as recordingStatus
  ```
+ **Ejemplo de consulta sobre contactos fallidos con los códigos de error más comunes**

  ```
  fields @timestamp, @message, detail  
  | filter detail.recordingStatus = "FAILED"   
  | stats count(*) as Count group by detail.failureInfo.code as FailureCode  
  | sort by Count desc
  ```
+ **Ejemplo de consulta sobre los agentes con más contactos fallidos**

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