Gestionar los temas de AWS SNS con aws-cli

Es muy fácil crear temas SNS, suscripciones y realizar otras operaciones en temas SNS desde el terminal utilizando la utilidad aw-cli. En este artículo, te mostraré los comandos para crear un Tema SNS, una Suscripción, confirmar y eliminar la Suscripción utilizando aws-cli. Se supone que ya estás familiarizado con el servicio AWS SNS.

Para conocer las operaciones que se pueden realizar en los temas SNS utilizando la utilidad de línea de comandos aws-cli, visita la documentación oficial aquí.

Requisitos previos

  1. Cuenta de AWS(Créala si no tienes una).
  2. Conocimiento básico de los Temas SNS (Haz clicaquí para aprender a crear un Tema SNS utilizando Terraform).
  3. Conocimiento básico de la Suscripción SNS.
  4. Usuario IAM de AWS con la políticaAmazonSNSFullAccess asociada a él y sus claves de acceso y secretas (Haz clic aquí para aprender acrear un Usuario IAM).
  5. AWS CLI instalado en tu máquina local.

¿Qué vamos a hacer?

  1. Comprueba aws cli y exporta la clave de acceso y secreta de AWS en tu máquina local.
  2. Gestiona los Temas SNS con aws cli.

Comprueba aws cli y exporta la clave de acceso y secreta de aws en tu máquina local.

Si no tienes el aws-cli entonces consulta la documentación oficialaquí para instalarlo en tu máquina local y luego comprueba la versión del mismo utilizando el siguiente comando.

aws --version

Si ejecutas el siguiente comando, obtendrás un error ya que aún no has configurado el acceso a tu cuenta de AWS en el terminal.

aws sts get-caller-identity

Exporta el acceso del usuario de AWS IAM y las claves secretas en tu terminal utilizando los siguientes comandos.

export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>

Esta vez, puedes comprobar tu identidad ejecutando el siguiente comando. Deberías ver los detalles del usuario en la salida.

aws sts get-caller-identity

Gestionar los Temas SNS con aws-cli

Vamos a comprobar los Temas SNS que tenemos en nuestra región actual.

aws sns list-topics

Lista de temas del SNS

Para crear simplemente un tema SNS ejecuta el siguiente comando. Puedes especificar cualquier otro nombre si lo deseas.

aws sns create-topic --name my-sns-topic-by-cli

Mientras creamos un Tema SNS, también podemos especificarle etiquetas. Incluso puedes especificar varias etiquetas a la vez.

aws sns create-topic --name my-sns-topic-by-cli-with-tag --tags Key=env,Value=test

Enumera los temas y podrás ver los temas recién creados esta vez.

aws sns list-topics

Crear temas del SNS

También puedes comprobar los atributos de un tema SNS concreto especificando su arn. Para obtener el arn del tema, enumera primero los temas y luego copia el arn del tema deseado.

aws sns list-topics
aws sns get-topic-attributes --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli

Obtener atributos del tema

Puedes comprobar todas las suscripciones en la región actual utilizando el siguiente comando.

aws sns list-subscriptions

Para crear una Suscripción, tienes que especificar el protocolo y el arn del Tema SNS. En este caso, crearemos una Suscripción con el correo electrónico como punto final. Hay varios puntos finales soportados por la suscripción, puedes especificar el deseado.

aws sns subscribe --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli --protocol email --notification-endpoint <email-id>@<domain>
aws sns list-subscriptions

Crear una suscripción

Una vez creada la suscripción, recibirás un correo electrónico de confirmación. La suscripción se puede confirmar haciendo clic en el enlace especificado en el correo electrónico o se puede utilizar un token para confirmar desde la CLI. Copia la dirección del enlace para recuperar el token de la misma, veremos el comando para confirmar la suscripción desde el terminal.

Correo electrónico de suscripción

La dirección del enlace de confirmación contendrá el token como se destaca a continuación. Cópialo para confirmar desde la CLI.

Ficha de suscripción

Para confirmar la suscripción mediante el aws-cli, utiliza el siguiente comando y especifica el topic-arn y el token en el comando.

aws sns list-subscriptions
aws sns confirm-subscription --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli --token 2336412f37fb687f5d51e6e2425e90ccf51427f70d347f743e373ed99c34222d699f93426571175db9bc0b81296ae69f53a889e1fbd11571c642308353d4648c67a2851b17a7f3cc1b7e1aaccae0881c5855df5d37bcae458305855d98fcd012d1ed4728a2064c6425b77b00e62b8d4fcf7fcccfb212d6850e3fa450c25cdf9a
aws sns list-subscriptions

La suscripción puede eliminarse o darse de baja simplemente especificando el arn de suscripción. Una vez que el punto final se haya dado de baja, las notificaciones dejarán de llegar al punto final.

aws sns list-subscriptions
aws sns unsubscribe --subscription-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli:cde0b12a-437c-49da-ab25-bc467701156d
aws sns list-subscriptions

Borrar la suscripción

Cuando ya no necesites el tema, es mejor eliminarlo. Ten cuidado al eliminar el tema, ya que una vez eliminado no se puede restaurar.

aws sns list-topics
aws sns delete-topic --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli
  614  aws sns list-topics

Eliminar el tema del SNS

Conclusión

En este artículo hemos visto los pasos para crear un Tema SNS, una Suscripción y confirmar la Suscripción. También hemos visto cómo se puede eliminar la Suscripción y el tema SNS utilizando el comando aws-cli.

También te podría gustar...