Categorías
AWS AWS SNS

Como crear punto de enlace para Simple Notification Service (SNS) con Python

Como se mencionaba en el post anterior de Configuracion de Temas en Notification Service (SNS), aqui vamos a crear el endpoint el cual podra recibir las notificaciones de SNS.

Para este caso vamos a crear el endpoint con flask. SNS nos permite la opcion de integrarlo con https o http, este enpoint debe permitir peticiones http por metodo POST.

Para empezar vamos a partir sobre el tema que debe estar creado, sobre este tema vamos a agregar una suscripcion, para esto ingresamos a nuestro tema y le damos en crear suscripcion.

Sobre esta suscripcion vamos a usar una configuracion sencilla, ingresamos el protocolo y el endpoint al cual deben llegar las notificaciones.

Lo anterior enviara directamente el JSON al endpoint indicado, este debe estar preparado para recibir la peticion. El JSON que se va a recibir tiene el siguiente formato, de este se debe guardar el link en el objeto SubscribeURL para aceptar la suscripcion.

Luego de esto el endpoint estaria aprobado en el tema de SNS para recibir las notificaciones, en cuyo caso debemos recibir las notificaciones que usan la misma estructura, sin embargo en las notificaciones la importancia esta dentro del objeto Message que es donde se encuentra la informacion con respecto al evento que viene a partir de SES.

Si nos enfocamos en la estructura que vendría dentro del mensaje tendría la siguiente estructura.

De este nodo el receptor nos quedaría de la siguiente forma.

A partir de aqui ya se puede agregar los pasos necesarios que se necesiten ejecutar, en caso de que a partir de esto se requiera actualizar registros o notificar al cliente que su correo ha llegado al destino o que se ha rebotado o clasificado como SPAM.

Categorías
AWS AWS SES AWS SNS

Como conectar Simple Notification Service (SNS) con SES en Python

Esta es la continuacion de un post anterior donde mirabamos la forma en la que se pueden enviar correos usando el servicio de Simple Email Service (SES) de AWS

Este proceso lo vamos a dividir en dos partes

  • Configuración de Temas en Simple Notification Service (SNS)
  • Integración en Simple Email Service (SES)

Configuración de Temas en Simple Notification Service (SNS)

Lo primero que necesitamos es crear los Temas o Topics en la seccion de Simple Notification Service (SES), para esto nos dirigimos a la seccion y damos click en Temas

Visualización de Temas

Aqui vamos a crear tres temas para integrarlos con los tres eventos disponibles desde Simple Email Service, estos son:

  • Bounce Notifications – bounce_mail_notification
  • Complaint Notifications – complaint_mail_notification
  • Delivery Notifications – delivery_mail_notification

Para esto solo le damos click en Crear un tema, vamos a usar una configuración simple por lo que vamos a completar los dos primero campos, el Nombre y Nombre para visualización, los demás campos son opcionales así que dejaremos los valores que traen por defecto. Vamos a hacer este proceso para los tres eventos.

Configuración de tema

Una vez hecho esto debemos crear las suscripciones, estos son los protocolos que se van a usar para enviar los mensajes, aquí tenemos varias opciones disponibles. De estos nos vamos a enfocar en el HTTPS

Configuración de protocolo de la suscripción

Este nos va a pedir un punto de enlace el cual sera la URL de algun servicio WEB que reciba el mensaje, para profundizar en esta parte puedes verlo en el post Creando punto de enlace para Simple Notification Service (SNS)

Visualización de estado de suscripción

Una vez se crea este envia la notificacion al punto de enlace, cuando esta funciona de forma correcta la suscripcion pasa a estado confirmada.
En caso de que sea necesario enviar varias veces este mensaje para pasar la suscripcion al estado validado podemos dar click en el boton de Publicar Mensaje.

Configurando los eventos

En la segunda parte lo primero que necesitamos para integrarlo con el servicio de Simple Email Service (SES) es habilitarlo, para esto vamos a la opción de Simple Email Service y seleccionamos el correo que ya hemos validado previamente.

Visualización de configuración del correo

Aqui le vamos a dar en Edit Configuration donde vamos a seleccionar los Temas con sus respectivos eventos y habilitaremos la opcion de Email Feedback Forwarding el cual nos quedara de la siguiente forma

Configuracion de eventos de correo

Apuntes finales

Si quieres profundizar mas puedes visitar la documentacion de AWS