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
- Cuenta de AWS(Créala si no tienes una).
- Conocimiento básico de los Temas SNS (Haz clicaquí para aprender a crear un Tema SNS utilizando Terraform).
- Conocimiento básico de la Suscripción SNS.
- 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).
- AWS CLI instalado en tu máquina local.
¿Qué vamos a hacer?
- Comprueba aws cli y exporta la clave de acceso y secreta de AWS en tu máquina local.
- 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
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
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
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
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.
La dirección del enlace de confirmación contendrá el token como se destaca a continuación. Cópialo para confirmar desde la CLI.
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
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
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.