SQSExemples d'Amazon utilisant 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.

SQSExemples d'Amazon utilisant 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'AmazonSQS.

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 montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le 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 API plus de détails, 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'cancel-message-move-taskexemple 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 la section SQSAPIAutorisations Amazon : actions et référence des ressources dans le manuel du développeur.

L'exemple de code suivant montre comment utiliserchange-message-visibility-batch.

AWS CLI

Pour modifier la visibilité du délai d'expiration de plusieurs messages sous forme de lot

Cet exemple fait passer le délai d'expiration des 2 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 la visibilité du délai d'expiration 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 rétention des messages à 3 jours (3 jours* 24 heures* 60 minutes* 60 secondes) et définit la file d'attente de lettres mortes de la file d'attente comme étant la file d'attente spécifiée avec un nombre maximum 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 API plus de détails, voir CreateQueuela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-message-batch.

AWS CLI

Pour supprimer plusieurs messages par lots

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 API plus de détails, 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 API plus de détails, 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 API plus de détails, 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 de 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 API plus de détails, voir GetQueueAttributesla section Référence des AWS CLI commandes.

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

AWS CLI

Pour obtenir une file d'attente URL

Cet exemple obtient les files d'attente spécifiéesURL.

Commande :

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

Sortie :

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Pour API plus de détails, 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 contenant des sources de lettres mortes

Cet exemple répertorie les files d'attente associées à la file 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 le message, déplacez les tâches

L'list-message-move-tasksexemple suivant répertorie les deux tâches de déplacement de messages les plus récentes dans 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 la section SQSAPIAutorisations Amazon : actions et référence des ressources dans le manuel du développeur.

L'exemple de code suivant montre comment utiliserlist-queue-tags.

AWS CLI

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

L'list-queue-tagsexemple 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 Amazon Simple Queue Service Developer Guide.

  • Pour API plus de détails, 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 « Mon ».

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 API plus de détails, 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 API plus de détails, 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 API plus de détails, 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 portant l'étiquette spécifiée de la file d'attente spécifiée.

Commande :

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

Sortie :

None.
  • Pour API plus de détails, voir RemovePermissionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisersend-message-batch.

AWS CLI

Pour envoyer plusieurs messages par lots

Cet exemple envoie 2 messages avec les corps de message, les délais 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 API plus de détails, 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 du message, le délai 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 API plus de détails, 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 de file d'attente

Cet exemple définit pour la file d'attente spécifiée un délai de livraison de 10 secondes, une taille de message maximale de 128 Ko (128 Ko x 1 024 octets), une période de rétention des messages de 3 jours (3 jours* 24 heures* 60 minutes* 60 secondes), un temps d'attente des messages de réception 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 à un nombre maximum 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 API plus de détails, 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 démarrer une tâche de déplacement de messages*

L'start-message-move-taskexemple suivant lance une tâche de déplacement de messages pour 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, voir Ceci est le titre de la rubrique dans le nom de votre guide.

Exemple 2 : *Pour démarrer une tâche de déplacement de messages avec un taux maximal*

L'start-message-move-taskexemple suivant lance une tâche de déplacement de messages pour rediriger les messages de la file d'attente de lettres mortes spécifiée vers la file de destination spécifiée à une cadence maximale 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 la section SQSAPIAutorisations Amazon : actions et référence des ressources dans le manuel du développeur.

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'tag-queueexemple suivant ajoute une balise de répartition des coûts à la SQS file d'attente Amazon 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 aucun résultat.

Pour plus d'informations, consultez la section Ajout de balises de répartition des coûts dans le manuel Amazon Simple Queue Service Developer Guide.

  • Pour API plus de détails, voir TagQueuela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseruntag-queue.

AWS CLI

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

L'untag-queueexemple suivant supprime une balise de répartition des coûts de la SQS file d'attente Amazon 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 aucun résultat.

Pour plus d'informations, consultez la section Ajout de balises de répartition des coûts dans le manuel Amazon Simple Queue Service Developer Guide.

  • Pour API plus de détails, voir UntagQueuela section Référence des AWS CLI commandes.