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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--labelSendMessagesFromMyQueue--aws-account-ids12345EXAMPLE--actionsSendMessageSortie :
None.-
Pour plus de détails sur l'API, voir AddPermission
la 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-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 Guide du développeur.
-
Pour plus de détails sur l'API, voir CancelMessageMoveTask
la 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-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, voir ChangeMessageVisibilityBatch
la section Référence des AWS CLI commandes.
-
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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--receipt-handleAQEBTpyI...t6HyQg==--visibility-timeout36000Sortie :
None.-
Pour plus de détails sur l'API, voir ChangeMessageVisibility
la section Référence des AWS CLI commandes.
-
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-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, voir CreateQueue
la 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-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, voir DeleteMessageBatch
la 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--receipt-handleAQEBRXTo...q2doVA==Sortie :
None.-
Pour plus de détails sur l'API, voir DeleteMessage
la 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueueSortie :
None.-
Pour plus de détails sur l'API, voir DeleteQueue
la 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-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 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue--attribute-namesMaximumMessageSizeVisibilityTimeoutSortie :
{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }-
Pour plus de détails sur l'API, voir GetQueueAttributes
la 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-nameMyQueueSortie :
{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }-
Pour plus de détails sur l'API, voir GetQueueUrl
la 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-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, voir ListDeadLetterSourceQueues
la section Référence des AWS CLI commandes.
-
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-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 Guide du développeur.
-
Pour plus de détails sur l'API, voir ListMessageMoveTasks
la 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-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 Guide du développeur Amazon Simple Queue Service.
-
Pour plus de détails sur l'API, voir ListQueueTags
la 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-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, voir ListQueues
la 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueueSortie :
None.-
Pour plus de détails sur l'API, voir PurgeQueue
la 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-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, renvoyant uniquement les SentTimestamp attributs SenderId et ainsi que l'attribut PostalCode message.
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, voir ReceiveMessage
la 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-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--labelSendMessagesFromMyQueueSortie :
None.-
Pour plus de détails sur l'API, voir RemovePermission
la 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-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, voir SendMessageBatch
la 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-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, voir SendMessage
la 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-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, voir SetQueueAttributes
la 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-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 cinquante 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 Guide du développeur.
-
Pour plus de détails sur l'API, voir StartMessageMoveTask
la 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-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, voir TagQueue
la 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-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, voir UntagQueue
la section Référence des AWS CLI commandes.
-