TUTORIAL 2023 AWS SNS para Principiantes todo lo que debes saber.
AWS SNS es un servicio de envió de mensajes que ha cambiados con los años en este post vamos a mostrate todo lo que debes saber para dominarlo ahora en el 2023
vamos con todo pero desde el inicio
Que es AWS SNS
es un manejador de mensaje que permite enviar mensajes a EMAIL,SMS y tambien y la parte más importante para mí es: que se puede enviar mensajes a http y también a servicios de aws
aws sns Pricing
Las solicitudes de temas estándar incluyen publicaciones, publicaciones por lotes, operaciones de propietarios de temas y operaciones de propietarios de suscripciones.
El primer millón de solicitudes de Amazon SNS por mes son gratis, y luego $0.50 por 1 millón de solicitudes.
Nota: Cada porción de 64 KB de datos publicados se factura como 1 solicitud. Por ejemplo, una sola publicación con una carga útil de 256 KB se factura como cuatro solicitudes.
Partes de AWS SNS
Es muy simple, realmente solo puede crear Topic y Suscribciones:
aws sns TOPIC
Son temas donde se crea una ruta la cual puedes enviar mensajes, los Topic son encargados de repartir tus mensajes entre los suscriptores; en AWS SNS la lista de subscriptores es bastante amplia, te muestro esta imagen que seguro te ayudara mas comparado con una lista simple escrita.
aws SNS topic limitacion
puedes crear por cuenta 100000 topics estandar y 1000 fifo topic
AWS SNS Suscriptions
Los subscriptores al final son otros servicios y AWS SNS enviará tu mensaje a ellos
puedes tener teóricamente muchos subs por topic, la recomendación es que cada topic sea definido para un solo tipo de suscriptor, ejemplo un topic de correo y otras de SMS
AWS SNS Project
Aplicación comunicándose con otra
tú puedes hacer que tu código pueda usar AWS SNS para comunicarte con otros servicios u otra aplicación
esto tiene mucho valor porque se puede dar el caso de tener una app en un entorno privado ya sea en una nube o en una infra local, con AWS SNS podrás enviar mensaje e incluso recibir mensajes dándote un canal seguro por donde puedes poco a poco comunicarse con el exterior
Aplicación comunicándose con un servicio de amazon
Aunque es parte de lo mismo que el punto anterior, aquí intento hacer énfasis en que puedes usar servicios de AWS diferentes a AWS SNS, el gatillador de esos procesos lo puede hacer un AWS SNS que fue notificado por una aplicación en cualquier parte del mundo.
Servicio de amazon comunicándose con tu app
Muchos de los servicios de AWS pueden usar AWS SNS para enviar un mensaje y que este alerte a una app o incluso a un especialista, con esto podrás actuar a tiempo
AWS SNS notificando a tus clientes
Un caso de uso puede ser enviar mensajes a los correos o teléfonos de tus clientes para avisar de cosas, alertar de problemas o promociones. Desde un proceso o desde una misma app, incluso podrás crear push notifications.
en los siguientes apartados voy a darte código y documentación para que puedas usar AWS SNS en tu plataforma/aplicación, incluso de forma manual con aws cli para tus pruebas iniciales, te deseo suerte creando tu maravillosa aplicación.
golang AWS SNS publish example
en el siguiente enlace te dejaré un buen ejemplo de como crear con golang y aws sns un buen ejemplo de la función publish message
AWS SNS documentation
en este link podrás encontrar la documentación de aws sns para go
Comandos para aws sns cli
AWS SNS para Crear topic
como mínimo necesita solo el hombre del topic esta función te dará el arn del tópico lo cual podrás usar para las siguientes funciones
aws sns create-topic --name mitopicname
Te dejo el link aws create-topic with aws cli
AWS SNS para crear suscripcion
Este comando necesita el topic arn el protocolo y al final el correo o número de telefono depende del protocolo que uses revisa la doc te dejo el link aquí para aws sns subscribe
aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \
--protocol email --notification-endpoint my-email@example.com
AWS SNS publicar mensaje
esta función tiene varias cosas interesantes, la primera es que puedes tener el mensaje en un archivo, y también puedes publicar directo a un número
te dejo los ejemplos en las siguientes lineas:
publicar desde un archivo:
aws sns publish \
--topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \
--message file://message.txt
publicar un mensaje sin archivo
aws sns publish \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \
--message "mi mensaje sin archivo"
publicar a un numero sin pasar por topic
aws sns publish \
--message "Hello world!" --phone-number +1-555-555-0100
AWS SNS PROJECT
El siguiente código es para usarlos con lambdas, te permite tomar un evento cualquiera y envía un mensaje a un topico
recuerda el código está en Node.js y está hecho por AWS lambdas y debes agregarle el permiso sns:publish al rol que consuma esta lambda si no entiendes revisa el video allí te lo explico AWS SNS projects en node.js para publicar mensaje
El siguiente código es para recibir mensajes desde un SNS
con node.js dentro de una lambda capturaremos un mensaje enviado por un topic de aws sns y luego lo procesaremos
recuerdas que el ejemplo solo es para capturar el proceso del mensaje, deberías hacerlo tú, también debes agregar al topic el arn de la lambda como suscriber si no sabes como te dejo el video para que puedas entenderlo mejor aws sns project en node.js para recibir un mensaje desde sns
Comentarios
Publicar un comentario