

# Uso de EventBridge
<a name="EventBridge"></a>

Amazon S3 puede enviar eventos a Amazon EventBridge cada vez que se producen ciertos eventos en el bucket. A diferencia de otros destinos, no es necesario seleccionar qué tipos de eventos desea entregar. Una vez habilitado EventBridge, todos los eventos siguientes se envían a EventBridge. Puede utilizar las reglas de EventBridge para dirigir eventos a destinos adicionales. A continuación, se enumeran los eventos que Amazon S3 envía a EventBridge.


|  Tipo de evento |  Descripción  | 
| --- | --- | 
|  *Objeto creado*  |  Se creó un objeto. El campo de motivo de la estructura de mensajes de eventos indica qué API de S3 se utilizó para crear el objeto: [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) o [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html).  | 
|  *Objeto eliminado (DeleteObject)* *Objeto eliminado (vencimiento del ciclo de vida)*  |  Se eliminó un objeto. Cuando se elimina un objeto mediante una llamada a la API de S3, el campo de motivo se establece en DeleteObject. Cuando una regla de vencimiento de S3 Lifecycle elimina un objeto, el campo de motivo se establece en Lifecycle Expiration (Vencimiento del ciclo de vida). Para obtener más información, consulte [Vencimiento de objetos](lifecycle-expire-general-considerations.md). Cuando se elimina un objeto sin control de versiones o se elimina de forma permanente un objeto con control de versiones, el campo de tipo de eliminación se establece en Permanently Deleted. Cuando se crea un marcador de eliminación para un objeto con control de versiones, el campo de `deletion-type` se establece en Delete Marker Created. Para obtener más información, consulte [Eliminar versiones de objetos de un bucket con control de versiones habilitado](DeletingObjectVersions.md).  | 
|  *Restauración de objetos iniciada*  |  Se inició una restauración de objetos desde la clase de almacenamiento S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive o desde el nivel S3 Intelligent-Tiering Archive Access o Deep Archive Access. Para obtener más información, consulte [Trabajar con objetos archivados](archived-objects.md).  | 
|  *Restauración de objetos completada*  |  Se completó una restauración de objetos.  | 
|  *Restauración de objetos vencida*  |  La copia temporal de un objeto restaurado desde S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive venció y se eliminó.  | 
|  *Cambio de clase de almacenamiento de objetos*  |  Se cambió un objeto a una clase de almacenamiento diferente. Para obtener más información, consulte [Transición de objetos con Amazon S3 Lifecycle](lifecycle-transition-general-considerations.md).  | 
|  *Cambio de nivel de acceso a objetos*  |  Se cambió un objeto al nivel S3 Intelligent-Tiering Archive Access o Deep Archive Access. Para obtener más información, consulte [Administración de costos con Amazon S3 Intelligent-Tiering](intelligent-tiering.md).  | 
|  *ACL de objeto actualizada*  |  Se configuró la lista de control de acceso (ACL) de un objeto mediante `PutObjectAcl`. No se genera un evento cuando una solicitud no produce cambios en la ACL de un objeto. Para obtener más información, consulte [Información general de las Listas de control de acceso (ACL)](acl-overview.md).  | 
|  *Etiquetas de objeto agregadas*  |  Se agregó un conjunto de etiquetas a un objeto mediante `PutObjectTagging`. Para obtener más información, consulte [Categorización de los objetos mediante etiquetas](object-tagging.md).  | 
|  *Etiquetas de objeto eliminadas*  |  Se eliminaron todas las etiquetas de un objeto mediante `DeleteObjectTagging`. Para obtener más información, consulte [Categorización de los objetos mediante etiquetas](object-tagging.md).  | 

**nota**  
Para obtener más información sobre cómo se asignan los tipos de eventos de Amazon S3 a los tipos de eventos de EventBridge, consulte [Asignación y solución de problemas de Amazon EventBridge](ev-mapping-troubleshooting.md).

Puede utilizar las notificaciones de eventos de Amazon S3 con EventBridge para escribir reglas que realizan acciones cuando se produce un evento en el bucket. Por ejemplo, puede hacer que le envíe una notificación. Para obtener más información, consulte [¿Qué es EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) en la *Guía del usuario de Amazon EventBridge*.

Para obtener más información sobre las acciones y los tipos de datos con los que puede interactuar mediante la API de EventBridge. consulte la [Referencia de la API de Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/APIReference/Welcome.html) en la *Referencia de la API de Amazon EventBridge*.

Para obtener información acerca de los precios, consulte [Precios de Amazon EventBridge](https://aws.amazon.com/eventbridge/pricing).

**Topics**
+ [Permisos de Amazon EventBridge](ev-permissions.md)
+ [Activación de Amazon EventBridge](enable-event-notifications-eventbridge.md)
+ [Estructura de mensaje de evento EventBridge](ev-events.md)
+ [Asignación y solución de problemas de Amazon EventBridge](ev-mapping-troubleshooting.md)

# Permisos de Amazon EventBridge
<a name="ev-permissions"></a>

Amazon S3 no requiere permisos adicionales para entregar eventos a Amazon EventBridge.

# Activación de Amazon EventBridge
<a name="enable-event-notifications-eventbridge"></a>

Puede habilitar Amazon EventBridge mediante la consola de S3, AWS Command Line Interface (AWS CLI) o API de REST de Amazon S3. 

**nota**  
Después de habilitar EventBridge, los cambios tardan alrededor de cinco minutos en aplicarse.

## Uso de la consola de S3
<a name="eventbridge-console"></a>

**Para habilitar la entrega de eventos de EventBridge en la consola de S3.**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets de uso general**.

1. En la lista de buckets, seleccione el nombre del bucket para el que desea habilitar eventos.

1. Seleccione **Properties** (Propiedades).

1. Vaya a la sección **Event Notifications** (Notificaciones de eventos) y busque la subsección **Amazon EventBridge**. Elija **Edit (Edición de)**.

1. En **Send notifications to Amazon EventBridge for all events in this bucket** (Enviar notificaciones a Amazon EventBridge para todos los eventos de este bucket), elija **On** (Activado).

## Uso de AWS CLI
<a name="eventbridge-cli"></a>

En el siguiente ejemplo, se crea una configuración de notificación de bucket para el bucket *`amzn-s3-demo-bucket1`* con Amazon EventBridge habilitado.

```
aws s3api put-bucket-notification-configuration --bucket amzn-s3-demo-bucket1 --notification-configuration='{ "EventBridgeConfiguration": {} }'
```

## Uso de la API de REST
<a name="eventbridge-api"></a>

Puede habilitar Amazon EventBridge en un bucket mediante programación llamando a la API de REST de Amazon S3. Para obtener más información, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) en la *Referencia de la API de Amazon Simple Storage Service*.

En el siguiente ejemplo, se muestra el XML utilizado para crear una configuración de notificación de bucket con Amazon EventBridge habilitado.

```
<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <EventBridgeConfiguration>
  </EventBridgeConfiguration>
</NotificationConfiguration>
```

## Creación de reglas de EventBridge
<a name="ev-tutorial"></a>

Una vez habilitado, puede crear reglas de Amazon EventBridge para determinadas tareas. Por ejemplo, puede enviar notificaciones por correo electrónico cuando se crea un objeto. Para ver un tutorial completo, consulte [Tutorial: Envío de una notificación cuando se crea un objeto de Amazon S3](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-s3-object-created-tutorial.html) en la *Guía del usuario de Amazon EventBridge*.

# Estructura de mensaje de evento EventBridge
<a name="ev-events"></a>

El mensaje de notificación que Amazon S3 envía para publicar un evento está en formato JSON. Cuando Amazon S3 envía un evento a Amazon EventBridge, aparecen los siguientes campos.
+ `version`: actualmente 0 (cero) para todos los eventos.
+ `id`: un UUID generado para cada evento.
+ `detail-type`: el tipo de evento que se envía. Para obtener una lista de los tipos de eventos, consulte [Uso de EventBridge](EventBridge.md).
+ `source`: identifica el servicio que generó el evento.
+ `account`: el ID de 12 dígitos de la Cuenta de AWS del propietario del bucket.
+ `time`: la hora a la que se produjo el evento.
+ `region`: identifica la Región de AWS del bucket.
+ `resources`: una matriz JSON que contiene el nombre de recurso de Amazon (ARN) del bucket.
+ `detail` – Un objeto JSON que contiene información sobre el evento. Para obtener más información acerca de lo que se puede incluir en este campo, consulte [Campo de detalle del mensaje de evento](#ev-events-detail).

## Ejemplos de estructura de mensaje de evento
<a name="ev-events-list"></a>

A continuación, se muestran ejemplos de algunos de los mensajes de notificación de eventos de Amazon S3 que se pueden enviar a Amazon EventBridge.

### Objeto creado
<a name="ev-events-object-created"></a>

```
{
  "version": "0",
  "id": "17793124-05d4-b198-2fde-7ededc63b103",
  "detail-type": "Object Created",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "size": 5,
      "etag": "b1946ac92492d2347c6235b4d2611184",
      "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e",
      "sequencer": "617f08299329d189"
    },
    "request-id": "N4N7GDK58NMKJ12R",
    "requester": "123456789012",
    "source-ip-address": "1.2.3.4",
    "reason": "PutObject"
  }
}
```

### Objeto eliminado (utilizando DeleteObject)
<a name="ev-events-object-deleted"></a>

```
{
  "version": "0",
  "id": "2ee9cc15-d022-99ea-1fb8-1b1bac4850f9",
  "detail-type": "Object Deleted",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "etag": "d41d8cd98f00b204e9800998ecf8427e",
      "version-id": "1QW9g1Z99LUNbvaaYVpW9xDlOLU.qxgF",
      "sequencer": "617f0837b476e463"
    },
    "request-id": "0BH729840619AG5K",
    "requester": "123456789012",
    "source-ip-address": "1.2.3.4",
    "reason": "DeleteObject",
    "deletion-type": "Delete Marker Created"
  }
}
```

### Objeto eliminado (utilizando vencimiento del ciclo de vida)
<a name="ev-events-object-deleted-lifecycle"></a>

```
{
  "version": "0",
  "id": "ad1de317-e409-eba2-9552-30113f8d88e3",
  "detail-type": "Object Deleted",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "etag": "d41d8cd98f00b204e9800998ecf8427e",
      "version-id": "mtB0cV.jejK63XkRNceanNMC.qXPWLeK",
      "sequencer": "617b398000000000"
    },
    "request-id": "20EB74C14654DC47",
    "requester": "s3.amazonaws.com",
    "reason": "Lifecycle Expiration",
    "deletion-type": "Delete Marker Created"
  }
}
```

### Restauración de objetos completada
<a name="ev-events-object-restore-complete"></a>

```
{
  "version": "0",
  "id": "6924de0d-13e2-6bbf-c0c1-b903b753565e",
  "detail-type": "Object Restore Completed",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "size": 5,
      "etag": "b1946ac92492d2347c6235b4d2611184",
      "version-id": "KKsjUC1.6gIjqtvhfg5AdMI0eCePIiT3"
    },
    "request-id": "189F19CB7FB1B6A4",
    "requester": "s3.amazonaws.com",
    "restore-expiry-time": "2021-11-13T00:00:00Z",
    "source-storage-class": "GLACIER"
  }
}
```

## Campo de detalle del mensaje de evento
<a name="ev-events-detail"></a>

El campo de detalles contiene un objeto JSON con información sobre el evento. Los siguientes campos pueden estar presentes en el campo de detalles.
+ `version`: actualmente 0 (cero) para todos los eventos.
+ `bucket`: información sobre el bucket de Amazon S3 involucrado en el evento.
+ `object`: información sobre el objeto de Amazon S3 involucrado en el evento.
+ `request-id`: ID de solicitud en la respuesta de S3.
+ `requester`: ID de la Cuenta de AWS o entidad principal de servicio de AWS del solicitante.
+ `source-ip-address`: la dirección IP de origen de la solicitud de S3. Solo está presente para eventos desencadenados por una solicitud de S3.
+ `reason`: para eventos de **Objeto creado**, la API de S3 utilizada para crear el objeto: [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) o [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html). Para eventos de **Objeto eliminado**, esto se configura en **DeleteObject** cuando se elimina un objeto mediante una llamada a la API de S3 o **vencimiento del ciclo de vida** cuando se elimina un objeto mediante una regla de vencimiento del ciclo de vida de S3. Para obtener más información, consulte [Vencimiento de objetos](lifecycle-expire-general-considerations.md).
+ `deletion-type`: para eventos de **Objeto eliminado**, cuando se elimina un objeto sin control de versiones o se elimina de forma permanente un objeto con control de versiones, esto se establece en **Eliminado de forma permanente**. Cuando se crea un marcador de eliminación para un objeto con control de versiones, esto se establece en **Delete Marker Created** (Marcador de eliminación creado). Para obtener más información, consulte [Eliminar versiones de objetos de un bucket con control de versiones habilitado](DeletingObjectVersions.md).
**nota**  
Algunos atributos del objeto (como `etag` y `size`) solo están presentes cuando se crea un marcador de eliminación.
+ `restore-expiry-time`: para eventos de **Restauración de objetos completada**, la hora en que la copia temporal del objeto se eliminará de S3. Para obtener más información, consulte [Trabajar con objetos archivados](archived-objects.md).
+ `source-storage-class`: para eventos de **Restauración de objetos iniciada** y **Restauración de objetos completada**, la clase de almacenamiento del objeto que se está restaurando. Para obtener más información, consulte [Trabajar con objetos archivados](archived-objects.md).
+ `destination-storage-class`: para eventos de **Clase de almacenamiento de destino cambiada**, la nueva clase de almacenamiento del objeto. Para obtener más información, consulte [Transición de objetos con Amazon S3 Lifecycle](lifecycle-transition-general-considerations.md).
+ `destination-access-tier`: para eventos de **Nivel de acceso de destino cambiado**, el nuevo nivel de acceso del objeto. Para obtener más información, consulte [Administración de costos con Amazon S3 Intelligent-Tiering](intelligent-tiering.md).

# Asignación y solución de problemas de Amazon EventBridge
<a name="ev-mapping-troubleshooting"></a>

En la tabla siguiente, se describe cómo se asignan los tipos de eventos de Amazon S3 a los tipos de eventos de Amazon EventBridge.


|  Tipo de evento de S3 |  Tipo de detalle de Amazon EventBridge  | 
| --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)  |  Objeto creado  | 
|  ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated LifecycleExpiration:Delete LifecycleExpiration:DeleteMarkerCreated  |  Objetos eliminados  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)  |  Restauración de objetos iniciada  | 
|  ObjectRestore:Completed  |  Restauración de objetos completada  | 
|  ObjectRestore:Delete  |  Restauración de objetos vencida  | 
|  LifecycleTransition  |  Cambio de clase de almacenamiento de objetos  | 
|  IntelligentTiering  |  Cambio de nivel de acceso a objetos  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  |  Etiquetas de objeto agregadas  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)  |  Etiquetas de objeto eliminadas  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)  |  ACL de objeto actualizada  | 

## Solución de problemas de Amazon EventBridge
<a name="ev-troubleshooting"></a>

Para obtener información acerca de cómo solucionar problemas de EventBridge, consulte [Solución de problemas de Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-troubleshooting.html) en la *Guía del usuario de Amazon EventBridge*.