Gestionar las colas de AWS SQS con aws-cli
Puedes realizar operaciones en SQS como listar, crear, eliminar colas y enviar mensajes, recibir mensajes desde tu terminal utilizando aws-cli. En este artículo, veremos los comandos para realizar este tipo de operaciones. Antes de continuar, se supone que estás familiarizado con las Colas de AWS SQS.
Para conocer en detalle las opciones disponibles para aws-cli, visita la documentación oficial aquí.
Requisitos previos
- Cuenta de AWS(Créala si no tienes una).
- Conocimiento básico de las Colas SQS (Haz clic aquí para aprender a crear una Cola SQS utilizando Terraform).
- Usuario IAM de AWS con la política AmazonSQSFullAccess asociada a él y sus claves de acceso y secretas (Haz clic aquí para aprender a crear 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 oficial aquí 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 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
aws sts get-caller-identity
Gestiona las colas SQS con aws-cli
Lista todas las colas disponibles en tu región actual
aws sqs list-queues
También puedes listar las colas con el prefijo correspondiente
aws sqs list-queues --queue-name-prefix "rahul"
Para crear una cola SQS, ejecuta el siguiente comando.
aws sqs create-queue --queue-name my-sqs-using-cli
También puedes adjuntar etiquetas mientras creas una Cola.
aws sqs create-queue --queue-name my-sqs-using-cli-with-tag --tags "env"="test"
También se pueden especificar atributos mientras se crea una Cola, para crear una Cola con un atributo RetrasoSegundos ejecuta el siguiente comando.
aws sqs create-queue --queue-name my-sqs-using-cli-with-attribute --tags "env"="test" --attributes DelaySeconds=10
Comprueba todos los atributos que tiene una Cola.
aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli-with-attribute --attribute-names All
Comprueba un atributo específico que tenga una Cola, en este caso, el valor del RetrasoSegundos será devuelto por el comando.
aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli-with-attribute --attribute-names DelaySeconds
Deja» enviar y recibir un mensaje a/de la Cola.
aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli --message-body "Test message to my-sqs-using-cli sqs"
aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli
Puedes comprobar el recuento de mensajes en el Panel SQS.
Si quieres eliminar mensajes de la Cola, puedes purgar la Cola
sqs purge-queue --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli
sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli
Para eliminar una Cola, necesitarás su URL.
aws sqs list-queues --queue-name-prefix "rahul"
aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/rahul-test
aws sqs list-queues --queue-name-prefix "rahul"
Conclusión
En este artículo, hemos visto el comando para Listar, Crear una Cola SQS, enviar y recibir mensajes a/desde ella y comprobar sus atributos. Esto puede ser una guía para empezar y ahora puedes explorar otras operaciones en las colas SQS por tu cuenta.