Puede realizar operaciones en SQS como lista, crear, eliminar colas y enviar mensajes, recibir mensajes desde su terminal usando aws-cli. En este artículo veremos los comandos para realizar este tipo de operaciones. Antes de continuar, se supone que está familiarizado con AWS SQS Queue.
Para conocer en detalle las opciones disponibles para aws-cli, visite la documentación oficial aquí.
Requisitos previos
- Cuenta de AWS (crear si no tiene una).
- Comprensión básica de las colas de SQS (haga clic aquí para aprender a crear una cola de SQS con Terraform).
- Usuario de IAM de AWS con la política AmazonSQSFullAccess adjunta y sus claves secretas y de acceso (haga clic aquí para aprender a crear un usuario de IAM).
- AWS CLI instalado en su máquina local.
¿Qué haremos?
- Compruebe aws cli y exporte la clave secreta y de acceso de AWS en su máquina local.
- Administre temas de SNS mediante aws cli.
Verifique aws cli y exporte aws access &secret key en su máquina local.
Si no tiene aws-cli, consulte la documentación oficial aquí para instalarlo en su máquina local y luego verifique la versión usando el siguiente comando.
aws --version
Si ejecuta el siguiente comando, obtendrá un error porque no ha configurado el acceso a su cuenta de AWS en la terminal.
aws sts get-caller-identity
Exporte el acceso de usuario de AWS IAM y las claves secretas en su terminal mediante los siguientes comandos.
export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>
Esta vez, puedes verificar tu identidad ejecutando el siguiente comando
aws sts get-caller-identity
Gestionar colas SQS mediante aws-cli
Muestra todas las colas disponibles en tu región actual
aws sqs list-queues
También puede enumerar colas con prefijo coincidente
aws sqs list-queues --queue-name-prefix "rahul"
Para crear una cola SQS, ejecute el siguiente comando.
aws sqs create-queue --queue-name my-sqs-using-cli
También puede adjuntar etiquetas mientras crea una cola.
aws sqs create-queue --queue-name my-sqs-using-cli-with-tag --tags "env"="test"
También se pueden especificar atributos al crear una Cola, para crear una Cola con un atributo DelaySeconds ejecute el siguiente comando.
aws sqs create-queue --queue-name my-sqs-using-cli-with-attribute --tags "env"="test" --attributes DelaySeconds=10
Verifica 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
Verifique un atributo específico que tenga una Cola, en este caso, el comando devolverá el valor de DelaySeconds.
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
Vamos a enviar y recibir un mensaje hacia/desde 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
Puede consultar el recuento de mensajes en el panel de control de 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, vimos el comando para listar, crear una cola de SQS, enviar y recibir mensajes a/de ella y verificar sus atributos. Esta puede ser una guía para comenzar y ahora puede explorar otras operaciones en las colas de SQS por su cuenta.