Esempi per Amazon SQS con AWS CLI
Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Amazon SQS.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare add-permission.
- AWS CLI
-
Come aggiungere le autorizzazioni a una coda
Questo esempio consente all’account AWS specificato di inviare messaggi alla coda specificata.
Comando:
aws sqs add-permission --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--labelSendMessagesFromMyQueue--aws-account-ids12345EXAMPLE--actionsSendMessageOutput:
None.-
Per informazioni dettagliate sull’API, consulta AddPermission
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare cancel-message-move-task.
- AWS CLI
-
Come annullare un’operazione di spostamento di un messaggio
Nell’esempio seguente
cancel-message-move-taskannulla l’attività di spostamento di un messaggio specificato.aws sqs cancel-message-move-task \ --task-handleAQEB6nR4...HzlvZQ==Output:
{ "ApproximateNumberOfMessagesMoved": 102 }Per ulteriori informazioni consulta Autorizzazioni API Amazon SQS: riferimento a operazioni e risorse nella Guida per sviluppatori.
-
Per informazioni dettagliate sull’API, consulta CancelMessageMoveTask
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare change-message-visibility-batch.
- AWS CLI
-
Come modificare la visibilità del timeout di più messaggi come batch
Questo esempio modifica la visibilità del timeout dei 2 messaggi specificati impostandola su 10 ore (10 ore * 60 minuti * 60 secondi).
Comando:
aws sqs change-message-visibility-batch --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--entriesfile://change-message-visibility-batch.jsonFile di input (change-message-visibility-batch.json):
[ { "Id": "FirstMessage", "ReceiptHandle": "AQEBhz2q...Jf3kaw==", "VisibilityTimeout": 36000 }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBkTUH...HifSnw==", "VisibilityTimeout": 36000 } ]Output:
{ "Successful": [ { "Id": "SecondMessage" }, { "Id": "FirstMessage" } ] }-
Per informazioni dettagliate sull’API, consulta ChangeMessageVisibilityBatch
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare change-message-visibility.
- AWS CLI
-
Come modificare la visibilità del timeout di un messaggio
Questo esempio modifica la visibilità del timeout del messaggio specificato impostandola su 10 ore (10 ore * 60 minuti * 60 secondi).
Comando:
aws sqs change-message-visibility --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--receipt-handleAQEBTpyI...t6HyQg==--visibility-timeout36000Output:
None.-
Per informazioni dettagliate sull’API, consulta ChangeMessageVisibility
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-queue.
- AWS CLI
-
Come creare una coda
Questo esempio crea una coda con il nome specificato, imposta il periodo di conservazione dei messaggi su 3 giorni (3 giorni * 24 ore * 60 minuti * 60 secondi) e imposta la coda DLQ della coda sulla coda specificata con un conteggio massimo di ricezione pari a 1.000 messaggi.
Comando:
aws sqs create-queue --queue-nameMyQueue--attributesfile://create-queue.jsonFile di input (create-queue.json):
{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "MessageRetentionPeriod": "259200" }Output:
{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }-
Per informazioni dettagliate sull’API, consulta CreateQueue
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-message-batch.
- AWS CLI
-
Come eliminare più messaggi in batch
Questo esempio elimina i messaggi specificati.
Comando:
aws sqs delete-message-batch --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--entriesfile://delete-message-batch.jsonFile di input (delete-message-batch.json):
[ { "Id": "FirstMessage", "ReceiptHandle": "AQEB1mgl...Z4GuLw==" }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBLsYM...VQubAA==" } ]Output:
{ "Successful": [ { "Id": "FirstMessage" }, { "Id": "SecondMessage" } ] }-
Per informazioni dettagliate sull’API, consulta DeleteMessageBatch
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-message.
- AWS CLI
-
Come eliminare un messaggio
Questo esempio elimina il messaggio specificato.
Comando:
aws sqs delete-message --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--receipt-handleAQEBRXTo...q2doVA==Output:
None.-
Per informazioni dettagliate sull’API, consulta DeleteMessage
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-queue.
- AWS CLI
-
Come eliminare una coda
Questo esempio elimina la coda specificata.
Comando:
aws sqs delete-queue --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueueOutput:
None.-
Per informazioni dettagliate sull’API, consulta DeleteQueue
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-queue-attributes.
- AWS CLI
-
Come ottenere gli attributi di una coda
Questo esempio ottiene tutti gli attributi della coda specificata.
Comando:
aws sqs get-queue-attributes --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--attribute-namesAllOutput:
{ "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" } }Questo esempio ottiene solo la dimensione massima dei messaggi e gli attributi di timeout della visibilità per la coda specificata.
Comando:
aws sqs get-queue-attributes --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue--attribute-namesMaximumMessageSizeVisibilityTimeoutOutput:
{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }-
Per informazioni dettagliate sull’API, consulta GetQueueAttributes
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-queue-url.
- AWS CLI
-
Come ottenere l’URL di una coda
Questo esempio ottiene l’URL della coda specificata.
Comando:
aws sqs get-queue-url --queue-nameMyQueueOutput:
{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }-
Per informazioni dettagliate sull’API, consulta GetQueueUrl
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-dead-letter-source-queues.
- AWS CLI
-
Come elencare le code DLQ di origine
Questo esempio elenca le code associate alla coda DLQ di origine specificata.
Comando:
aws sqs list-dead-letter-source-queues --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueueOutput:
{ "queueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }-
Per informazioni dettagliate sull’API, consulta ListDeadLetterSourceQueues
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-message-move-tasks.
- AWS CLI
-
Come elencare le attività di spostamento dei messaggi
L’esempio
list-message-move-tasksseguente elenca le 2 attività di spostamento dei messaggi più recenti nella coda specificata.aws sqs list-message-move-tasks \ --source-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue\ --max-results2Output:
{ "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 } ] }Per ulteriori informazioni consulta Autorizzazioni API Amazon SQS: riferimento a operazioni e risorse nella Guida per sviluppatori.
-
Per informazioni dettagliate sull’API, consulta ListMessageMoveTasks
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-queue-tags.
- AWS CLI
-
Come elencare tutti i tag di allocazione dei costi per una coda
L’esempio
list-queue-tagsseguente visualizza tutti i tag di allocazione dei costi associati alla coda specificata.aws sqs list-queue-tags \ --queue-urlhttps://sqs.us-west-2.amazonaws.com/123456789012/MyQueueOutput:
{ "Tags": { "Team": "Alpha" } }Per ulteriori informazioni, consulta Listing Cost Allocation Tags nella Guida per sviluppatori di Amazon Simple Queue Service.
-
Per informazioni dettagliate sull’API, consulta ListQueueTags
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-queues.
- AWS CLI
-
Come elencare le code
Questo esempio elenca tutte le code.
Comando:
aws sqs list-queuesOutput:
{ "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" ] }Questo esempio elenca solo le code che iniziano con “My”.
Comando:
aws sqs list-queues --queue-name-prefixMyOutput:
{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }-
Per informazioni dettagliate sull’API, consulta ListQueues
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare purge-queue.
- AWS CLI
-
Come rimuovere una coda
Questo esempio elimina tutti i messaggi nella coda specificata.
Comando:
aws sqs purge-queue --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueueOutput:
None.-
Per informazioni dettagliate sull’API, consulta PurgeQueue
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare receive-message.
- AWS CLI
-
Come ricevere un messaggio
Questo esempio riceve fino a 10 messaggi disponibili e restituisce tutti gli attributi disponibili.
Comando:
aws sqs receive-message --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--attribute-namesAll--message-attribute-namesAll--max-number-of-messages10Output:
{ "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" } } } ] }Questo esempio riceve il successivo messaggio disponibile e restituisce solo gli attributi SenderId e SentTimestamp e l’attributo PostalCode del messaggio.
Comando:
aws sqs receive-message --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--attribute-namesSenderIdSentTimestamp--message-attribute-namesPostalCodeOutput:
{ "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" } } } ] }-
Per informazioni dettagliate sull’API, consulta ReceiveMessage
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare remove-permission.
- AWS CLI
-
Come rimuovere un’autorizzazione
Questo esempio rimuove l’autorizzazione con l’etichetta specificata dalla coda specificata.
Comando:
aws sqs remove-permission --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--labelSendMessagesFromMyQueueOutput:
None.-
Per i dettagli dell'API, consulta RemovePermission
in Riferimento ai comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare send-message-batch.
- AWS CLI
-
Come inviare più messaggi in batch
Questo esempio invia alla coda specificata 2 messaggi con il corpo del messaggio, il periodo di ritardo e gli attributi del messaggio specificati.
Comando:
aws sqs send-message-batch --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue--entriesfile://send-message-batch.jsonFile di input (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" } } } ]Output:
{ "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" } ] }-
Per informazioni dettagliate sull’API, consulta SendMessageBatch
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare send-message.
- AWS CLI
-
Come inviare un messaggio
Questo esempio invia alla coda specificata un messaggio con il corpo del messaggio, il periodo di ritardo e gli attributi del messaggio specificato.
Comando:
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.jsonFile di input (send-message.json):
{ "City": { "DataType": "String", "StringValue": "Any City" }, "Greeting": { "DataType": "Binary", "BinaryValue": "Hello, World!" }, "Population": { "DataType": "Number", "StringValue": "1250800" } }Output:
{ "MD5OfMessageBody": "51b0a325...39163aa0", "MD5OfMessageAttributes": "00484c68...59e48f06", "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE" }-
Per informazioni dettagliate sull’API, consulta SendMessage
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare set-queue-attributes.
- AWS CLI
-
Come impostare gli attributi della coda
Questo esempio imposta la coda specificata su un ritardo di distribuzione di 10 secondi, una dimensione massima del messaggio di 128 KB (128 KB * 1.024 byte), un periodo di conservazione dei messaggi di 3 giorni (3 giorni * 24 ore * 60 minuti * 60 secondi), un tempo di attesa per la ricezione dei messaggi di 20 secondi e un timeout di visibilità predefinito di 60 secondi. Questo esempio associa inoltre la coda DLQ specificata a un numero massimo di ricezione di 1.000 messaggi.
Comando:
aws sqs set-queue-attributes --queue-urlhttps://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue--attributesfile://set-queue-attributes.jsonFile di input (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" }Output:
None.-
Per informazioni dettagliate sull’API, consulta SetQueueAttributes
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare start-message-move-task.
- AWS CLI
-
Esempio 1. *Per iniziare un messaggio, sposta l’attività*
L’esempio
start-message-move-taskseguente avvia un’operazione di spostamento dei messaggi per reindirizzare i messaggi dalla coda DLQ specificata alla coda di origine.aws sqs start-message-move-task \ --source-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueueOutput:
{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }Per ulteriori informazioni, consulta il seguente argomento
nella Nome della guida. Esempio 2. *Per avviare un’operazione di spostamento dei messaggi con una frequenza massima*
L’esempio
start-message-move-taskseguente avvia un’attività di spostamento dei messaggi per reindirizzare i messaggi dalla coda DLQ specificata alla coda di destinazione specificata a una velocità massima di 50 messaggi al secondo.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-second50Output:
{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }Per ulteriori informazioni consulta Autorizzazioni API Amazon SQS: riferimento a operazioni e risorse nella Guida per sviluppatori.
-
Per informazioni dettagliate sull’API, consulta StartMessageMoveTask
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare tag-queue.
- AWS CLI
-
Come aggiungere tag di allocazione dei costi a una coda
L’esempio
tag-queueseguente aggiunge un tag di allocazione dei costi alla coda Amazon SQS specificata.aws sqs tag-queue \ --queue-urlhttps://sqs.us-west-2.amazonaws.com/123456789012/MyQueue\ --tagsPriority=HighestQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Adding Cost Allocation Tags nella Guida per sviluppatori di Amazon Simple Queue Service.
-
Per informazioni dettagliate sull’API, consulta TagQueue
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare untag-queue.
- AWS CLI
-
Come rimuovere i tag di allocazione dei costi da una coda
Nell’esempio seguente
untag-queuerimuove un tag di allocazione dei costi alla coda Amazon SQS specificata.aws sqs untag-queue \ --queue-urlhttps://sqs.us-west-2.amazonaws.com/123456789012/MyQueue\ --tag-keys"Priority"Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Adding Cost Allocation Tags nella Guida per sviluppatori di Amazon Simple Queue Service.
-
Per informazioni dettagliate sull’API, consulta UntagQueue
in AWS CLI Command Reference.
-