Exemples d’utilisation de l’AWS CLI avec Amazon SQS - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Amazon SQS

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Amazon SQS.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser add-permission.

AWS CLI

Pour ajouter une autorisation à une file d’attente

Cet exemple permet au compte AWS spécifié d’envoyer des messages à la file d’attente désignée.

Commande :

aws sqs add-permission --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --label SendMessagesFromMyQueue --aws-account-ids 12345EXAMPLE --actions SendMessage

Sortie :

None.
  • Pour plus de détails sur l’API, consultez AddPermission dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser cancel-message-move-task.

AWS CLI

Pour annuler une tâche de déplacement de message

L’exemple cancel-message-move-task suivant annule la tâche de déplacement de message spécifiée.

aws sqs cancel-message-move-task \ --task-handle AQEB6nR4...HzlvZQ==

Sortie :

{ "ApproximateNumberOfMessagesMoved": 102 }

Pour plus d’informations, consultez Autorisations d’API Amazon SQS : référence des actions et ressources dans le Manuel du développeur.

  • Pour plus de détails sur l’API, consultez CancelMessageMoveTask dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser change-message-visibility-batch.

AWS CLI

Pour modifier simultanément le délai de visibilité de plusieurs messages

Cet exemple fait passer le délai de visibilité des deux messages spécifiés à 10 heures (10 heures* 60 minutes* 60 secondes).

Commande :

aws sqs change-message-visibility-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://change-message-visibility-batch.json

Fichier d’entrée (change-message-visibility-batch.json) :

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEBhz2q...Jf3kaw==", "VisibilityTimeout": 36000 }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBkTUH...HifSnw==", "VisibilityTimeout": 36000 } ]

Sortie :

{ "Successful": [ { "Id": "SecondMessage" }, { "Id": "FirstMessage" } ] }

L’exemple de code suivant montre comment utiliser change-message-visibility.

AWS CLI

Pour modifier le délai de visibilité d’un message

Cet exemple fait passer le délai de visibilité du message spécifié à 10 heures (10 heures* 60 minutes* 60 secondes).

Commande :

aws sqs change-message-visibility --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBTpyI...t6HyQg== --visibility-timeout 36000

Sortie :

None.
  • Pour plus de détails sur l’API, consultez ChangeMessageVisibility dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-queue.

AWS CLI

Pour créer une file d'attente

Cet exemple crée une file d’attente portant le nom spécifié, définit la période de conservation des messages à trois jours (trois jours x 24 heures x 60 minutes x 60 secondes), et spécifie la file d’attente de lettres mortes comme file d’attente avec un nombre maximal de 1 000 messages reçus.

Commande :

aws sqs create-queue --queue-name MyQueue --attributes file://create-queue.json

Fichier d’entrée (create-queue.json) :

{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "MessageRetentionPeriod": "259200" }

Sortie :

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Pour plus de détails sur l’API, consultez CreateQueue dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-message-batch.

AWS CLI

Pour supprimer simultanément plusieurs messages

Cet exemple supprime les messages spécifiés.

Commande :

aws sqs delete-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://delete-message-batch.json

Fichier d’entrée (delete-message-batch.json) :

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEB1mgl...Z4GuLw==" }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBLsYM...VQubAA==" } ]

Sortie :

{ "Successful": [ { "Id": "FirstMessage" }, { "Id": "SecondMessage" } ] }
  • Pour plus de détails sur l’API, consultez DeleteMessageBatch dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-message.

AWS CLI

Pour supprimer un message

Cet exemple supprime le message spécifié.

Commande :

aws sqs delete-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBRXTo...q2doVA==

Sortie :

None.
  • Pour plus de détails sur l’API, consultez DeleteMessage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-queue.

AWS CLI

Pour supprimer une file d'attente

Cet exemple supprime la file d’attente spécifiée.

Commande :

aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueue

Sortie :

None.
  • Pour plus de détails sur l’API, consultez DeleteQueue dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-queue-attributes.

AWS CLI

Pour obtenir les attributs d’une file d’attente

Cet exemple récupère tous les attributs de la file d’attente spécifiée.

Commande :

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All

Sortie :

{ "Attributes": { "ApproximateNumberOfMessagesNotVisible": "0", "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":1000}", "MessageRetentionPeriod": "345600", "ApproximateNumberOfMessagesDelayed": "0", "MaximumMessageSize": "262144", "CreatedTimestamp": "1442426968", "ApproximateNumberOfMessages": "0", "ReceiveMessageWaitTimeSeconds": "0", "DelaySeconds": "0", "VisibilityTimeout": "30", "LastModifiedTimestamp": "1442426968", "QueueArn": "arn:aws:sqs:us-east-1:80398EXAMPLE:MyNewQueue" } }

Cet exemple récupère uniquement la taille maximale des messages et les attributs du délai de visibilité de la file d’attente spécifiée.

Commande :

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attribute-names MaximumMessageSize VisibilityTimeout

Sortie :

{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }
  • Pour plus de détails sur l’API, consultez GetQueueAttributes dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-queue-url.

AWS CLI

Pour obtenir l’URL d’une file d’attente

Cet exemple récupère l’URL de la file d’attente spécifiée.

Commande :

aws sqs get-queue-url --queue-name MyQueue

Sortie :

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Pour plus de détails sur l’API, consultez GetQueueUrl dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-dead-letter-source-queues.

AWS CLI

Pour répertorier les files d’attente d’une file d’attente source de lettres mortes

Cet exemple répertorie les files d’attente associées à la file d’attente source de lettres mortes spécifiée.

Commande :

aws sqs list-dead-letter-source-queues --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue

Sortie :

{ "queueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }

L’exemple de code suivant montre comment utiliser list-message-move-tasks.

AWS CLI

Pour répertorier les tâches de déplacement de messages

L’exemple list-message-move-tasks suivant répertorie les deux tâches de déplacement de messages les plus récentes de la file d’attente spécifiée.

aws sqs list-message-move-tasks \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue \ --max-results 2

Sortie :

{ "Results": [ { "TaskHandle": "AQEB6nR4...HzlvZQ==", "Status": "RUNNING", "SourceArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1", "DestinationArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2", "MaxNumberOfMessagesPerSecond": 50, "ApproximateNumberOfMessagesMoved": 203, "ApproximateNumberOfMessagesToMove": 30, "StartedTimestamp": 1442428276921 }, { "Status": "COMPLETED", "SourceArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1", "DestinationArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2", "ApproximateNumberOfMessagesMoved": 29, "ApproximateNumberOfMessagesToMove": 0, "StartedTimestamp": 1342428272093 } ] }

Pour plus d’informations, consultez Autorisations d’API Amazon SQS : référence des actions et ressources dans le Manuel du développeur.

  • Pour plus de détails sur l’API, consultez ListMessageMoveTasks dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-queue-tags.

AWS CLI

Pour répertorier toutes les balises de répartition des coûts d’une file d’attente

L’exemple list-queue-tags suivant affiche toutes les balises de répartition des coûts associées à la file d’attente spécifiée.

aws sqs list-queue-tags \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue

Sortie :

{ "Tags": { "Team": "Alpha" } }

Pour plus d’informations, consultez Listing Cost Allocation Tags dans le Manuel du développeur Amazon Simple Queue Service.

  • Pour plus de détails sur l’API, consultez ListQueueTags dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-queues.

AWS CLI

Pour répertorier les files d’attente

Cet exemple répertorie toutes les files d’attente.

Commande :

aws sqs list-queues

Sortie :

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue", "https://queue.amazonaws.com/80398EXAMPLE/TestQueue1", "https://queue.amazonaws.com/80398EXAMPLE/TestQueue2" ] }

Cet exemple répertorie uniquement les files d’attente qui commencent par « My ».

Commande :

aws sqs list-queues --queue-name-prefix My

Sortie :

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }
  • Pour plus de détails sur l’API, consultez ListQueues dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser purge-queue.

AWS CLI

Pour purger une file d’attente

Cet exemple supprime tous les messages de la file d’attente spécifiée.

Commande :

aws sqs purge-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue

Sortie :

None.
  • Pour plus de détails sur l’API, consultez PurgeQueue dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser receive-message.

AWS CLI

Pour recevoir un message

Cet exemple reçoit jusqu’à 10 messages disponibles et renvoie tous les attributs disponibles.

Commande :

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All --message-attribute-names All --max-number-of-messages 10

Sortie :

{ "Messages": [ { "Body": "My first message.", "ReceiptHandle": "AQEBzbVv...fqNzFw==", "MD5OfBody": "1000f835...a35411fa", "MD5OfMessageAttributes": "9424c491...26bc3ae7", "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", "Attributes": { "ApproximateFirstReceiveTimestamp": "1442428276921", "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", "ApproximateReceiveCount": "5", "SentTimestamp": "1442428276921" }, "MessageAttributes": { "PostalCode": { "DataType": "String", "StringValue": "ABC123" }, "City": { "DataType": "String", "StringValue": "Any City" } } } ] }

Cet exemple reçoit le prochain message disponible, renvoie uniquement les attributs SenderId et SentTimestamp ainsi que l’attribut de message PostalCode.

Commande :

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names SenderId SentTimestamp --message-attribute-names PostalCode

Sortie :

{ "Messages": [ { "Body": "My first message.", "ReceiptHandle": "AQEB6nR4...HzlvZQ==", "MD5OfBody": "1000f835...a35411fa", "MD5OfMessageAttributes": "b8e89563...e088e74f", "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", "Attributes": { "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", "SentTimestamp": "1442428276921" }, "MessageAttributes": { "PostalCode": { "DataType": "String", "StringValue": "ABC123" } } } ] }
  • Pour plus de détails sur l’API, consultez ReceiveMessage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser remove-permission.

AWS CLI

Pour supprimer une autorisation

Cet exemple supprime l’autorisation comportant la balise spécifiée de la file d’attente désignée.

Commande :

aws sqs remove-permission --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --label SendMessagesFromMyQueue

Sortie :

None.
  • Pour plus de détails sur l’API, consultez RemovePermission dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser send-message-batch.

AWS CLI

Pour envoyer simultanément plusieurs messages

Cet exemple envoie deux messages avec les corps de message, les retards et les attributs de message spécifiés à la file d’attente spécifiée.

Commande :

aws sqs send-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://send-message-batch.json

Fichier d’entrée (send-message-batch.json) :

[ { "Id": "FuelReport-0001-2015-09-16T140731Z", "MessageBody": "Fuel report for account 0001 on 2015-09-16 at 02:07:31 PM.", "DelaySeconds": 10, "MessageAttributes": { "SellerName": { "DataType": "String", "StringValue": "Example Store" }, "City": { "DataType": "String", "StringValue": "Any City" }, "Region": { "DataType": "String", "StringValue": "WA" }, "PostalCode": { "DataType": "String", "StringValue": "99065" }, "PricePerGallon": { "DataType": "Number", "StringValue": "1.99" } } }, { "Id": "FuelReport-0002-2015-09-16T140930Z", "MessageBody": "Fuel report for account 0002 on 2015-09-16 at 02:09:30 PM.", "DelaySeconds": 10, "MessageAttributes": { "SellerName": { "DataType": "String", "StringValue": "Example Fuels" }, "City": { "DataType": "String", "StringValue": "North Town" }, "Region": { "DataType": "String", "StringValue": "WA" }, "PostalCode": { "DataType": "String", "StringValue": "99123" }, "PricePerGallon": { "DataType": "Number", "StringValue": "1.87" } } } ]

Sortie :

{ "Successful": [ { "MD5OfMessageBody": "203c4a38...7943237e", "MD5OfMessageAttributes": "10809b55...baf283ef", "Id": "FuelReport-0001-2015-09-16T140731Z", "MessageId": "d175070c-d6b8-4101-861d-adeb3EXAMPLE" }, { "MD5OfMessageBody": "2cf0159a...c1980595", "MD5OfMessageAttributes": "55623928...ae354a25", "Id": "FuelReport-0002-2015-09-16T140930Z", "MessageId": "f9b7d55d-0570-413e-b9c5-a9264EXAMPLE" } ] }
  • Pour plus de détails sur l’API, consultez SendMessageBatch dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser send-message.

AWS CLI

Pour envoyer un message

Cet exemple envoie un message avec le corps de message, le retard et les attributs de message spécifiés à la file d’attente spécifiée.

Commande :

aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --message-body "Information about the largest city in Any Region." --delay-seconds 10 --message-attributes file://send-message.json

Fichier d’entrée (send-message.json) :

{ "City": { "DataType": "String", "StringValue": "Any City" }, "Greeting": { "DataType": "Binary", "BinaryValue": "Hello, World!" }, "Population": { "DataType": "Number", "StringValue": "1250800" } }

Sortie :

{ "MD5OfMessageBody": "51b0a325...39163aa0", "MD5OfMessageAttributes": "00484c68...59e48f06", "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE" }
  • Pour plus de détails sur l’API, consultez SendMessage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser set-queue-attributes.

AWS CLI

Pour définir les attributs d’une file d’attente

Cet exemple définit pour la file d’attente spécifiée un retard de livraison de 10 secondes, une taille de message maximale de 128 Ko (128 Ko x 1 024 octets), une période de conservation des messages de trois jours (trois jours x 24 heures x 60 minutes x 60 secondes), un temps d’attente de réception des messages de 20 secondes et un délai de visibilité par défaut de 60 secondes. Cet exemple associe également la file d’attente de lettres mortes spécifiée avec un nombre maximal de 1 000 messages reçus.

Commande :

aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attributes file://set-queue-attributes.json

Fichier d’entrée (set-queue-attributes.json) :

{ "DelaySeconds": "10", "MaximumMessageSize": "131072", "MessageRetentionPeriod": "259200", "ReceiveMessageWaitTimeSeconds": "20", "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "VisibilityTimeout": "60" }

Sortie :

None.
  • Pour plus de détails sur l’API, consultez SetQueueAttributes dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser start-message-move-task.

AWS CLI

Exemple 1 : *pour lancer une tâche de déplacement de messages*

L’exemple start-message-move-task suivant lance une tâche de déplacement de messages afin de rediriger les messages de la file d’attente de lettres mortes spécifiée vers la file d’attente source.

aws sqs start-message-move-task \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue

Sortie :

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Pour plus d’informations, consultez cette rubrique dans le Nom du guide.

Exemple 2 : *pour lancer une tâche de déplacement de messages avec un débit maximal*

L’exemple start-message-move-task suivant lance une tâche de déplacement de messages afin de rediriger les messages de la file d’attente de lettres mortes spécifiée vers la file de destination spécifiée à un débit maximal de 50 messages par seconde.

aws sqs start-message-move-task \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1 \ --destination-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2 \ --max-number-of-messages-per-second 50

Sortie :

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Pour plus d’informations, consultez Autorisations d’API Amazon SQS : référence des actions et ressources dans le Manuel du développeur.

  • Pour plus de détails sur l’API, consultez StartMessageMoveTask dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser tag-queue.

AWS CLI

Pour ajouter des balises de répartition des coûts à une file d’attente

L’exemple tag-queue suivant ajoute une balise de répartition des coûts à la file d’attente Amazon SQS spécifiée.

aws sqs tag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tags Priority=Highest

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Ajout de balises de répartition des coûts dans le Manuel du développeur Amazon Simple Queue Service.

  • Pour plus de détails sur l’API, consultez TagQueue dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser untag-queue.

AWS CLI

Pour supprimer des balises de répartition des coûts d’une file d’attente

L’exemple untag-queue suivant supprime une balise de répartition des coûts de la file d’attente Amazon SQS spécifiée.

aws sqs untag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tag-keys "Priority"

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Ajout de balises de répartition des coûts dans le Manuel du développeur Amazon Simple Queue Service.

  • Pour plus de détails sur l’API, consultez UntagQueue dans la Référence des commandes de l’AWS CLI.