¿Por qué mi tema de Amazon SNS no recibe notificaciones de evento de Amazon S3?

4 minutos de lectura
0

He creado una notificación de evento de Amazon Simple Storage Service (Amazon S3) para enviar mensajes a través de mi tema de Amazon Simple Notification Service (Amazon SNS). Sin embargo, mi tema de Amazon SNS no publica mensajes cuando se producen nuevos eventos en mi bucket de Amazon S3.

Resolución

Confirmar que su tipo de evento de Amazon S3 está configurado correctamente

Al configurar una notificación de eventos de Amazon S3, debe especificar qué tipos de eventos de Amazon S3 compatibles hacen que Amazon S3 envíe la notificación. Si se produce un tipo de evento que no especificó en su bucket de Amazon S3, Amazon S3 no enviará la notificación.

Confirmar que sus filtros de nombre de clave de objeto están en formato URL codificado (codificado por porcentajes)

Si sus notificaciones de eventos están configuradas para usar el filtrado de nombre de clave de objeto, las notificaciones se publicarán solo para objetos con prefijos o sufijos específicos.

Si usa caracteres especiales en sus prefijos o sufijos, deberá introducirlos en formato URL codificado (codificado por porcentajes). Para obtener más información, consulte Guías de nomenclatura de clave de objeto y Trabajar con metadatos de objetos.

Nota: No se puede usar un carácter comodín («*») en los filtros como prefijo o sufijo para representar ningún carácter.

Confirmar que ha otorgado a Amazon S3 los permisos necesarios para publicar mensajes en su tema

Su política basada en recursos del tema de Amazon SNS debe permitir que el bucket de Amazon S3 publique mensajes en el tema.

Consulte su política de AWS Identity and Access Management (IAM) del tema para confirmar que cuenta con los permisos necesarios y agréguelos si es necesario. Para obtener más información, consulte Conceder permisos para publicar mensajes en un tema de SNS o en una cola de SQS.

(Para los temas con el cifrado del servidor (SSE) activado) Confirmar que el tema tiene los permisos de AWS Key Management (AWS KMS) requeridos

Su tema de Amazon SNS debe utilizar una clave de AWS KMS administrada por el cliente. Esta clave de KMS debe incluir una política de claves personalizada que otorgue a Amazon S3 suficientes permisos de uso de claves.

Para configurar los permisos de AWS KMS necesarios, siga estos pasos:

1.Cree una nueva clave de KMS que esté gestionada por el cliente e incluya los permisos necesarios para Amazon S3.

2.Configure SSE para su tema de Amazon SNS con la clave de KMS personalizada que acaba de crear.

3.Configure los permisos de AWS KMS que permitan a Amazon S3 publicar mensajes en su tema cifrado.

Ejemplo de declaración de política de IAM que permite a Amazon S3 publicar mensajes en un tema cifrado de Amazon SNS

{
"version": "2012-10-17",
"statement": [{
    "effect": "allow",
    "principal": {"service": "s3.amazonaws.com"},
    "action": ["kms:generatedatakey*", "kms:decrypt"],
    "resource": "*"
}]
}

Si aún no se recibe la notificación del evento de Amazon S3 en el tema de SNS, entonces compruebe la métrica NumberOfMessagePublished de Amazon SNS CloudWatch. Esta métrica muestra si Amazon S3 publica los eventos. Si la métrica no se completa, significa que hay un problema con la configuración de Amazon S3 a Amazon SNS.

Si se completa la métrica NumberOfMessagePublished, compruebe las métricas NumberOfNotificationsDelivered y NumberOfNotificationsFailed. Estas métricas muestran si los mensajes se han entregado correctamente a los puntos de conexión suscritos desde su tema de Amazon SNS.

Amazon SNS ofrece soporte para registrar el estado de entrega de los mensajes de notificación enviados a temas con puntos de conexión de Amazon SNS. Esto incluye HTTP, Amazon Kinesis Data Firehose, AWS Lambda, puntos de conexión de Platform application, Amazon Simple Queue Service y AWS SMS. Active los registros de estado de entrega del tema de Amazon SNS para seguir solucionando el problema.


Información relacionada

Permitir que las notificaciones de evento de Amazon S3 se publiquen en un tema

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año