Cómo crear una suscripción entre una cola SQS y un tema SNS en AWS
La idea de suscribirse a SQS en SNS es enviar mensajes de SNS a SQS. Se pueden enviar tanto mensajes en bruto como cualquier otro atributo del mensaje incluido en el mensaje del SNS. Antes de continuar con este artículo, se supone que tienes un SNS y un SQS en la cuenta. La creación de SNS y SQS no entra en el ámbito de este artículo.
El SNS puede tener varias colas de SQS suscritas a él y el SNS publicará el mismo mensaje a todas sus suscripciones.
Ve a la página oficial de AWS para conocer los precios deSNS y SQS.
Requisitos previos
- Cuenta de AWS(Créala si no la tienes).
- Tema SNS (Haz clicaquí para aprender a crear un tema SNS)
- Tema SQS
¿Qué vamos a hacer?
- Iniciar sesión en AWS.
- Comprueba el SNS.
- Comprueba el SQS y modifica su política de acceso.
- Crea una Suscripción desde SNS a SQS.
- Sondea los mensajes en SQS y envía un mensaje desde SNS.
- Elimina la suscripción.
Iniciar sesión en AWS
Para acceder a tu cuenta de AWS haz clicaquí e introduce tus credenciales
Una vez que hayas iniciado sesión con éxito en tu cuenta, verás la consola principal de gestión de AWS como se indica a continuación.
Busca SNS
Busca SNS en el cuadro de búsqueda de la parte superior de la pantalla.
Verás el panel de SNS de la siguiente manera. Haz clic en «Temas» en el panel izquierdo.
Aquí verás los temas SNS existentes en tu cuenta bajo la región seleccionada. Yo utilizaré el tema SNS «sns-test». Haz clic en el tema deseado para ver sus detalles.
Aquí el tema no tiene ninguna suscripción.
Comprueba el SQS y modifica su política de acceso
Busca SQS en el cuadro de búsqueda de la parte superior de la pantalla.
Verás el siguiente panel principal para SQS con una lista de colas SQS disponibles en la región seleccionada en tu cuenta de AWS. Aquí utilizaré la cola «sqs-test». Haz clic en el tema SQS para comprobar sus detalles y modificar la política de acceso.
Ve a la pestaña «Política de acceso» para modificar la política por defecto/existente y haz clic en el botón «Editar».
En la política de acceso, sustituye el arn de la cuenta por * en el bloque Principal para evitar posibles problemas de acceso y guarda los cambios. Esto no se recomienda en las cuentas de producción.
Crear una suscripción de SNS a SQS
Ve al tema SNS y haz clic en el botón «Crear suscripción» para crear una suscripción.
Aquí, cambia el protocolo a Amazon SQS y especifica el ARN del tema SQS en el campo del punto final. Marca la casilla «Habilitar la entrega de mensajes sin procesar» y luego haz clic en el botón «Crear suscripción».
Ahora, si vas al tema del SNS verás que la suscripción se ha creado con éxito y el estado está confirmado.
Sondea los mensajes en SQS y envía un mensaje desde el SNS.
Podemos probar si los mensajes llegan a SQS cuando se envían desde el tema SNS. Para comprobarlo, ve al tema SQS y haz clic en el botón «Enviar y recibir mensajes».
A continuación, haz clic en el botón «Pool de mensajes».
En cuanto hagas clic en el botón «Encuesta para mensajes», ve al tema SNS y haz clic en el botón «Publicar mensaje».
Aquí, añade un asunto al mensaje y selecciona la opción «Carga útil personalizada para cada protocolo de entrega».
Desplázate un poco hacia abajo y haz clic en el botón «Publicar mensaje».
Ahora, si vuelves a la página de SQS, verás que el mensaje ha sido recibido por SQS.
Haz clic en el ID del mensaje para ver lo que se ha enviado desde el SQS.
En la sección del cuerpo, puedes ver que el mensaje que fue enviado por el SNS ha sido recibido con éxito por el SQS.
Eliminar la suscripción
Si ya no necesitas la suscripción, puedes eliminarla fácilmente desde el propio tema del SNS. Selecciona la suscripción y haz clic en el botón «Eliminar».
Aparecerá una pantalla emergente para confirmar la eliminación. Una vez eliminada la suscripción, no podrás restaurarla. Ten cuidado al realizar operaciones de eliminación en tus cuentas de producción.
Conclusión
En este artículo hemos visto los pasos para crear una suscripción desde el tema SNS al tema SQS. Enviamos un mensaje de ejemplo desde SNS que fue sondeado en el SQS. También hemos visto la facilidad con la que se puede eliminar una suscripción desde el SNS.