SQSEsempi di utilizzo di Amazon AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

SQSEsempi di utilizzo di Amazon AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando il AWS Command Line Interface con AmazonSQS.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, puoi vedere le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareadd-permission.

AWS CLI

Per aggiungere un'autorizzazione a una coda

Questo esempio consente all' AWS account specificato di inviare messaggi alla coda specificata.

Comando:

aws sqs add-permission --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --label SendMessagesFromMyQueue --aws-account-ids 12345EXAMPLE --actions SendMessage

Output:

None.
  • Per API i dettagli, vedere AddPermissionin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecancel-message-move-task.

AWS CLI

Per annullare un messaggio, sposta un'operazione.

L'cancel-message-move-taskesempio seguente annulla l'attività di spostamento del messaggio specificata.

aws sqs cancel-message-move-task \ --task-handle AQEB6nR4...HzlvZQ==

Output:

{ "ApproximateNumberOfMessagesMoved": 102 }

Per ulteriori informazioni, consulta Amazon SQS API permissions: Actions and resource reference nella Developer Guide.

Il seguente esempio di codice mostra come utilizzarechange-message-visibility-batch.

AWS CLI

Per modificare la visibilità del timeout di più messaggi come batch

Questo esempio modifica la visibilità del timeout dei 2 messaggi specificati su 10 ore (10 ore* 60 minuti* 60 secondi).

Comando:

aws sqs change-message-visibility-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://change-message-visibility-batch.json

File di input (.json): change-message-visibility-batch

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEBhz2q...Jf3kaw==", "VisibilityTimeout": 36000 }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBkTUH...HifSnw==", "VisibilityTimeout": 36000 } ]

Output:

{ "Successful": [ { "Id": "SecondMessage" }, { "Id": "FirstMessage" } ] }

Il seguente esempio di codice mostra come utilizzarechange-message-visibility.

AWS CLI

Per modificare la visibilità del timeout di un messaggio

Questo esempio modifica la visibilità del timeout del messaggio specificato su 10 ore (10 ore* 60 minuti* 60 secondi).

Comando:

aws sqs change-message-visibility --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBTpyI...t6HyQg== --visibility-timeout 36000

Output:

None.

Il seguente esempio di codice mostra come utilizzarecreate-queue.

AWS CLI

Per 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 di lettere morte della coda sulla coda specificata con un numero massimo di ricezione di 1.000 messaggi.

Comando:

aws sqs create-queue --queue-name MyQueue --attributes file://create-queue.json

File 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 i API dettagli, vedere in Command Reference. CreateQueueAWS CLI

Il seguente esempio di codice mostra come utilizzaredelete-message-batch.

AWS CLI

Per eliminare più messaggi in batch

Questo esempio elimina i messaggi specificati.

Comando:

aws sqs delete-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://delete-message-batch.json

File di input (delete-message-batch.json):

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEB1mgl...Z4GuLw==" }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBLsYM...VQubAA==" } ]

Output:

{ "Successful": [ { "Id": "FirstMessage" }, { "Id": "SecondMessage" } ] }

Il seguente esempio di codice mostra come utilizzaredelete-message.

AWS CLI

Per eliminare un messaggio

Questo esempio elimina il messaggio specificato.

Comando:

aws sqs delete-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBRXTo...q2doVA==

Output:

None.
  • Per API i dettagli, vedere DeleteMessagein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredelete-queue.

AWS CLI

Per eliminare una coda

Questo esempio elimina la coda specificata.

Comando:

aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueue

Output:

None.
  • Per API i dettagli, vedere DeleteQueuein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-queue-attributes.

AWS CLI

Per ottenere gli attributi di una coda

Questo esempio ottiene tutti gli attributi della coda specificata.

Comando:

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All

Output:

{ "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 di visibilità della coda specificati.

Comando:

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attribute-names MaximumMessageSize VisibilityTimeout

Output:

{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }

Il seguente esempio di codice mostra come utilizzareget-queue-url.

AWS CLI

Per creare una coda URL

Questo esempio ottiene le code specificate. URL

Comando:

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

Output:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Per API i dettagli, vedere GetQueueUrlin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-dead-letter-source-queues.

AWS CLI

Per elencare le code di sorgenti con lettere morte

Questo esempio elenca le code associate alla coda di origine delle lettere morte specificata.

Comando:

aws sqs list-dead-letter-source-queues --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue

Output:

{ "queueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }

Il seguente esempio di codice mostra come utilizzarelist-message-move-tasks.

AWS CLI

Per elencare il messaggio, sposta le attività.

L'list-message-move-tasksesempio seguente elenca le 2 attività di spostamento dei messaggi più recenti nella coda specificata.

aws sqs list-message-move-tasks \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue \ --max-results 2

Output:

{ "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 Amazon SQS API permissions: Actions and resource reference nella Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-queue-tags.

AWS CLI

Per elencare tutti i tag di allocazione dei costi per una coda

L'list-queue-tagsesempio seguente visualizza tutti i tag di allocazione dei costi associati alla coda specificata.

aws sqs list-queue-tags \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue

Output:

{ "Tags": { "Team": "Alpha" } }

Per ulteriori informazioni, consulta Elencare i tag di allocazione dei costi nella Guida per gli sviluppatori di Amazon Simple Queue Service.

  • Per API i dettagli, consulta AWS CLI Command ListQueueTagsReference.

Il seguente esempio di codice mostra come utilizzarelist-queues.

AWS CLI

Per elencare le code

Questo esempio elenca tutte le code.

Comando:

aws sqs list-queues

Output:

{ "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-prefix My

Output:

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }
  • Per API i dettagli, vedere ListQueuesin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarepurge-queue.

AWS CLI

Per eliminare una coda

Questo esempio elimina tutti i messaggi nella coda specificata.

Comando:

aws sqs purge-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue

Output:

None.
  • Per API i dettagli, vedere PurgeQueuein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarereceive-message.

AWS CLI

Per ricevere un messaggio

Questo esempio riceve fino a 10 messaggi disponibili, restituendo tutti gli attributi disponibili.

Comando:

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

Output:

{ "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 prossimo messaggio disponibile, restituendo solo gli SentTimestamp attributi SenderId e e l'attributo PostalCode message.

Comando:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names SenderId SentTimestamp --message-attribute-names PostalCode

Output:

{ "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 API i dettagli, vedere ReceiveMessagein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareremove-permission.

AWS CLI

Per rimuovere un'autorizzazione

Questo esempio rimuove l'autorizzazione con l'etichetta specificata dalla coda specificata.

Comando:

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

Output:

None.

Il seguente esempio di codice mostra come utilizzaresend-message-batch.

AWS CLI

Per inviare più messaggi in batch

Questo esempio invia 2 messaggi con i corpi dei messaggi, i periodi di ritardo e gli attributi dei messaggi specificati, alla coda specificata.

Comando:

aws sqs send-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://send-message-batch.json

File 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" } ] }

Il seguente esempio di codice mostra come utilizzaresend-message.

AWS CLI

Per inviare un messaggio

Questo esempio invia un messaggio con il corpo del messaggio, il periodo di ritardo e gli attributi del messaggio specificati alla coda specificata.

Comando:

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

File 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 API i dettagli, vedere in Command Reference. SendMessageAWS CLI

Il seguente esempio di codice mostra come utilizzareset-queue-attributes.

AWS CLI

Per impostare gli attributi della coda

Questo esempio imposta la coda specificata su un ritardo di recapito 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 di lettere morte specificata a un numero massimo di ricezione di 1.000 messaggi.

Comando:

aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attributes file://set-queue-attributes.json

File 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.

Il seguente esempio di codice mostra come utilizzarestart-message-move-task.

AWS CLI

Esempio 1: *Per iniziare un messaggio, sposta l'attività*

L'start-message-move-taskesempio seguente avvia un'operazione di spostamento dei messaggi per reindirizzare i messaggi dalla coda di lettere non scritte specificata alla coda di origine.

aws sqs start-message-move-task \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue

Output:

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Per ulteriori informazioni, consulta Questo è il titolo dell'argomento nel Nome della guida.

Esempio 2: *Per iniziare un messaggio, sposta un'attività con una frequenza massima*

L'start-message-move-taskesempio seguente avvia un'attività di spostamento dei messaggi per reindirizzare i messaggi dalla coda di lettere morte specificata alla coda di destinazione specificata a una velocità massima di 50 messaggi al secondo.

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

Output:

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Per ulteriori informazioni, consulta Amazon SQS API permissions: Actions and resource reference nella Developer Guide.

Il seguente esempio di codice mostra come utilizzaretag-queue.

AWS CLI

Per aggiungere tag di allocazione dei costi a una coda

L'tag-queueesempio seguente aggiunge un tag di allocazione dei costi alla SQS coda Amazon specificata.

aws sqs tag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tags Priority=Highest

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Aggiungere tag di allocazione dei costi nella Guida per gli sviluppatori di Amazon Simple Queue Service.

  • Per API i dettagli, consulta AWS CLI Command TagQueueReference.

Il seguente esempio di codice mostra come utilizzareuntag-queue.

AWS CLI

Per rimuovere i tag di allocazione dei costi da una coda

L'untag-queueesempio seguente rimuove un tag di allocazione dei costi dalla SQS coda Amazon specificata.

aws sqs untag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tag-keys "Priority"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Aggiungere tag di allocazione dei costi nella Guida per gli sviluppatori di Amazon Simple Queue Service.

  • Per API i dettagli, consulta AWS CLI Command UntagQueueReference.