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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--labelSendMessagesFromMyQueue--aws-account-ids12345EXAMPLE--actionsSendMessageSortie :
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-tasksuivant annule la tâche de déplacement de message spécifiée.aws sqs cancel-message-move-task \ --task-handleAQEB6nR4...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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--entriesfile://change-message-visibility-batch.jsonFichier 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" } ] }-
Pour plus de détails sur l’API, consultez ChangeMessageVisibilityBatch
dans la Référence des commandes de l’AWS CLI.
-
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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--receipt-handleAQEBTpyI...t6HyQg==--visibility-timeout36000Sortie :
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-nameMyQueue--attributesfile://create-queue.jsonFichier 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--entriesfile://delete-message-batch.jsonFichier 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--receipt-handleAQEBRXTo...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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueueSortie :
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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--attribute-namesAllSortie :
{ "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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue--attribute-namesMaximumMessageSizeVisibilityTimeoutSortie :
{ "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-nameMyQueueSortie :
{ "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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueueSortie :
{ "queueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }-
Pour plus de détails sur l’API, consultez ListDeadLetterSourceQueues
dans la Référence des commandes de l’AWS CLI.
-
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-taskssuivant 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-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue\ --max-results2Sortie :
{ "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-tagssuivant 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-urlhttps://sqs.us-west-2.amazonaws.com/123456789012/MyQueueSortie :
{ "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-queuesSortie :
{ "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-prefixMySortie :
{ "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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueueSortie :
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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--attribute-namesAll--message-attribute-namesAll--max-number-of-messages10Sortie :
{ "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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--attribute-namesSenderIdSentTimestamp--message-attribute-namesPostalCodeSortie :
{ "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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--labelSendMessagesFromMyQueueSortie :
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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--entriesfile://send-message-batch.jsonFichier 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--message-body"Information about the largest city in Any Region."--delay-seconds10--message-attributesfile://send-message.jsonFichier 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue--attributesfile://set-queue-attributes.jsonFichier 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-tasksuivant 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-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueueSortie :
{ "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-tasksuivant 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-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1\ --destination-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2\ --max-number-of-messages-per-second50Sortie :
{ "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-queuesuivant ajoute une balise de répartition des coûts à la file d’attente Amazon SQS spécifiée.aws sqs tag-queue \ --queue-urlhttps://sqs.us-west-2.amazonaws.com/123456789012/MyQueue\ --tagsPriority=HighestCette 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-queuesuivant supprime une balise de répartition des coûts de la file d’attente Amazon SQS spécifiée.aws sqs untag-queue \ --queue-urlhttps://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.
-