Vous pouvez effectuer des opérations sur SQS comme répertorier, créer, supprimer des files d'attente et envoyer des messages, recevoir des messages de votre terminal à l'aide d'aws-cli. Dans cet article, nous verrons les commandes pour effectuer ce genre d'opérations. Avant de poursuivre, nous supposons que vous êtes familiarisé avec la file d'attente AWS SQS.
Pour connaître en détail les options disponibles pour aws-cli, consultez la documentation officielle ici.
Pré-requis
- Compte AWS (Créez si vous n'en avez pas).
- Compréhension de base des files d'attente SQS (Cliquez ici pour apprendre à créer une file d'attente SQS à l'aide de Terraform).
- Utilisateur AWS IAM auquel est associée une stratégie AmazonSQSFullAccess, ainsi que ses clés d'accès et secrètes (Cliquez ici pour apprendre à créer un utilisateur IAM).
- AWS CLI installé sur votre ordinateur local.
Qu'allons-nous faire ?
- Vérifiez aws cli et exportez l'accès AWS et la clé secrète sur votre ordinateur local.
- Gérer les sujets SNS à l'aide d'aws cli.
Vérifiez aws cli et exportez l'accès aws et la clé secrète sur votre machine locale.
Si vous n'avez pas aws-cli , reportez-vous à la documentation officielle ici pour l'installer sur votre ordinateur local, puis vérifiez sa version à l'aide de la commande suivante.
aws --version
Si vous exécutez la commande suivante, vous obtiendrez une erreur car vous n'avez pas configuré l'accès à votre compte AWS dans le terminal.
aws sts obtenir l'identité de l'appelant
Exportez l'accès utilisateur et les clés secrètes AWS IAM sur votre terminal à l'aide des commandes suivantes.
export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>
Cette fois, vous pouvez vérifier votre identité en exécutant la commande suivante
aws sts get-caller-identity
Gérer les files d'attente SQS à l'aide d'aws-cli
Répertorier toutes les files d'attente disponibles dans votre région actuelle
aws sqs list-queues
Vous pouvez également répertorier les files d'attente avec le préfixe correspondant
aws sqs list-queues --queue-name-prefix "rahul"
Pour créer une file d'attente SQS, exécutez la commande suivante.
aws sqs create-queue --queue-name my-sqs-using-cli
Vous pouvez également associer des balises lors de la création d'une file d'attente.
aws sqs create-queue --queue-name my-sqs-using-cli-with-tag --tags "env"="test"
On peut également spécifier des attributs lors de la création d'une file d'attente, pour créer une file d'attente avec un attribut DelaySeconds, exécutez la commande suivante.
aws sqs create-queue --queue-name my-sqs-using-cli-with-attribute --tags "env"="test" --attributes DelaySeconds=10
Vérifiez tous les attributs d'une file d'attente.
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
Vérifiez un attribut spécifique d'une file d'attente, dans ce cas, la valeur de DelaySeconds sera renvoyée par la commande.
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
Envoyons et recevons un message vers/depuis la file d'attente.
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
Vous pouvez vérifier le nombre de messages dans le tableau de bord SQS.
Si vous souhaitez supprimer des messages de la file d'attente, vous pouvez purger la file d'attente
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
Pour supprimer une file d'attente, vous aurez besoin de son 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"
Conclusion
Dans cet article, nous avons vu la commande pour répertorier, créer une file d'attente SQS, envoyer et recevoir des messages vers/depuis celle-ci et vérifier ses attributs. Cela peut être un guide pour démarrer et vous pouvez désormais explorer par vous-même d'autres opérations sur les files d'attente SQS.