Exemples d'utilisation d'Amazon SQS AWS CLI - AWS Command Line Interface

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples d'utilisation d'Amazon SQS AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'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 utiliseradd-permission.

AWS CLI

Pour ajouter une autorisation à une file d’attente

Cet exemple permet au AWS compte spécifié d'envoyer des messages à la file d'attente spécifié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, voir AddPermissionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercancel-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 Guide du développeur.

  • Pour plus de détails sur l'API, voir CancelMessageMoveTaskla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserchange-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 utiliserchange-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.

L'exemple de code suivant montre comment utilisercreate-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 (3 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, voir CreateQueuela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-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, voir DeleteMessageBatchla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-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, voir DeleteMessagela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-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, voir DeleteQueuela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-queue-attributes.

AWS CLI

Pour obtenir les attributs d’une file d’attente

Cet exemple obtient 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 obtient 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, voir GetQueueAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-queue-url.

AWS CLI

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

Cet exemple permet d’obtenir 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, voir GetQueueUrlla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-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 utiliserlist-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 Guide du développeur.

  • Pour plus de détails sur l'API, voir ListMessageMoveTasksla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-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 Guide du développeur Amazon Simple Queue Service.

  • Pour plus de détails sur l'API, voir ListQueueTagsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-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, voir ListQueuesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserpurge-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, voir PurgeQueuela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserreceive-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, renvoyant uniquement les SentTimestamp attributs SenderId et ainsi que l'attribut PostalCode message.

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, voir ReceiveMessagela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserremove-permission.

AWS CLI

Pour supprimer une autorisation

Cet exemple supprime l’autorisation comportant l’étiquette 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, voir RemovePermissionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisersend-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, voir SendMessageBatchla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisersend-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, voir SendMessagela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserset-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 dix 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 (3 jours x 24 heures x 60 minutes x 60 secondes), un temps d’attente de réception des messages de vingt secondes et un délai de visibilité par défaut de soixante 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, voir SetQueueAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstart-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 cinquante 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 Guide du développeur.

  • Pour plus de détails sur l'API, voir StartMessageMoveTaskla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisertag-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, voir TagQueuela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseruntag-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, voir UntagQueuela section Référence des AWS CLI commandes.