Uso de Amazon SQS, Amazon SNS y Lambda - Amazon Simple Storage Service

Uso de Amazon SQS, Amazon SNS y Lambda

La habilitación de notificaciones es una operación de bucket. Almacene la información de configuración de notificaciones en el subrecurso de notificación asociado a un bucket. Después de crear o cambiar la configuración de notificación del bucket, normalmente lleva alrededor de cinco minutos para que los cambios surtan efecto. Cuando la notificación se habilita por primera vez, se produce s3:TestEvent. Puede utilizar cualquiera de los siguientes métodos para administrar la configuración de notificación:

Independientemente del método que utilice, Amazon S3 almacena la configuración de notificación como XML en el subrecurso de notificación asociado a un bucket. Para obtener información acerca de los subrecursos de bucket, consulte Opciones de configuración de buckets.

Configuración de notificaciones de eventos mediante programación

De forma predeterminada, las notificaciones no están habilitadas para ningún tipo de evento. Por lo tanto, el subrecurso de notificación inicialmente almacena las configuraciones vacías.

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

Para permitir las notificaciones de eventos de determinado tipo, debe reemplazar el XML con la configuración adecuada que identifique los tipos de eventos que desea que Amazon S3 publique y el destino donde desea publicar los eventos. Para cada destino, debe añadir la configuración XML correspondiente.

Para publicar mensajes de evento en una cola SQS

A fin de establecer una cola SQS como destino de notificación para uno o varios tipos de eventos, agregue QueueConfiguration.

<NotificationConfiguration> <QueueConfiguration> <Id>optional-id-string</Id> <Queue>sqs-queue-arn</Queue> <Event>event-type</Event> <Event>event-type</Event> ... </QueueConfiguration> ... </NotificationConfiguration>
Para publicar mensajes de evento en un tema SNS

A fin de establecer un tema SNS como destino de notificación para tipos de eventos específicos, agregue TopicConfiguration.

<NotificationConfiguration> <TopicConfiguration> <Id>optional-id-string</Id> <Topic>sns-topic-arn</Topic> <Event>event-type</Event> <Event>event-type</Event> ... </TopicConfiguration> ... </NotificationConfiguration>
Para invocar la función de AWS Lambda y proporcionar un mensaje de evento como argumento

A fin de establecer una función de Lambda como destino de notificación para tipos de eventos específicos, agregue CloudFunctionConfiguration.

<NotificationConfiguration> <CloudFunctionConfiguration>    <Id>optional-id-string</Id>    <CloudFunction>cloud-function-arn</CloudFunction>         <Event>event-type</Event>       <Event>event-type</Event>       ...   </CloudFunctionConfiguration> ... </NotificationConfiguration>
Para eliminar todas las notificaciones configuradas en un bucket

Para eliminar todas las notificaciones configuradas en un bucket, guarde un <NotificationConfiguration/> elemento vacío en el subrecurso de notificación .

Cuando Amazon S3 detecta un evento del tipo específico, publica un mensaje con la información del evento. Para obtener más información, consulte Estructura de mensaje de evento.

Para obtener más información acerca de la configuración de notificaciones de eventos, consulte los temas siguientes: