SQSExemplos da Amazon usando AWS CLI - AWS Command Line Interface

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

SQSExemplos da Amazon usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com a AmazonSQS.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar add-permission.

AWS CLI

Para adicionar uma permissão a uma fila

Este exemplo permite que a AWS conta especificada envie mensagens para a fila especificada.

Comando:

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

Saída:

None.
  • Para API obter detalhes, consulte AddPermissionna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar cancel-message-move-task.

AWS CLI

Para cancelar uma tarefa de movimentação de mensagem

O cancel-message-move-task exemplo a seguir cancela a tarefa de movimentação de mensagens especificada.

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

Saída:

{ "ApproximateNumberOfMessagesMoved": 102 }

Para obter mais informações, consulte SQSAPIPermissões da Amazon: ações e referência de recursos no Guia do desenvolvedor.

O código de exemplo a seguir mostra como usar change-message-visibility-batch.

AWS CLI

Para alterar as visibilidades de tempo limite de várias mensagens como um lote

Este exemplo altera as visibilidades de tempo limite das 2 mensagens especificadas para 10 horas (10 horas * 60 minutos * 60 segundos).

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

Arquivo de entrada (change-message-visibility-batch.json):

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

Saída:

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

O código de exemplo a seguir mostra como usar change-message-visibility.

AWS CLI

Como alterar a visibilidade do tempo limite de uma mensagem

Este exemplo altera a visibilidade do tempo limite da mensagem especificada para 10 horas (10 horas * 60 minutos * 60 segundos).

Comando:

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

Saída:

None.

O código de exemplo a seguir mostra como usar create-queue.

AWS CLI

Para criar uma fila

Este exemplo cria uma fila com o nome especificado, define o período de retenção da mensagem para 3 dias (3 dias * 24 horas * 60 minutos * 60 segundos) e define a fila de mensagens não entregues da fila especificada com uma contagem máxima de recebimento de 1.000 mensagens.

Comando:

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

Arquivo de entrada (create-queue.json):

{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "MessageRetentionPeriod": "259200" }

Saída:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Para API obter detalhes, consulte CreateQueuena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-message-batch.

AWS CLI

Como excluir várias mensagens como um lote

Este exemplo exclui as mensagens especificadas.

Comando:

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

Arquivo de entrada (delete-message-batch.json):

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

Saída:

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

O código de exemplo a seguir mostra como usar delete-message.

AWS CLI

Como excluir uma mensagem

Este exemplo exclui a mensagem especificada.

Comando:

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

Saída:

None.
  • Para API obter detalhes, consulte DeleteMessagena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-queue.

AWS CLI

Para excluir uma fila

Este exemplo exclui a fila especificada.

Comando:

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

Saída:

None.
  • Para API obter detalhes, consulte DeleteQueuena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-queue-attributes.

AWS CLI

Como obter os atributos de uma fila

Este exemplo obtém todos os atributos da fila especificada.

Comando:

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

Saída:

{ "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" } }

Este exemplo obtém somente os atributos especificados de tempo limite de visibilidade e de tamanho máximo da mensagem da fila.

Comando:

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

Saída:

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

O código de exemplo a seguir mostra como usar get-queue-url.

AWS CLI

Para obter uma fila URL

Este exemplo obtém as filas especificadas. URL

Comando:

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

Saída:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Para API obter detalhes, consulte GetQueueUrlna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-dead-letter-source-queues.

AWS CLI

Para listar filas de origem de letras mortas

Este exemplo lista as filas associadas à fila de origem de letra morta especificada.

Comando:

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

Saída:

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

O código de exemplo a seguir mostra como usar list-message-move-tasks.

AWS CLI

Para listar a mensagem, mova as tarefas

O list-message-move-tasks exemplo a seguir lista as duas tarefas mais recentes de movimentação de mensagens na fila especificada.

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

Saída:

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

Para obter mais informações, consulte SQSAPIPermissões da Amazon: ações e referência de recursos no Guia do desenvolvedor.

O código de exemplo a seguir mostra como usar list-queue-tags.

AWS CLI

Para listar todas as tags de alocação de custos para uma fila

O list-queue-tags exemplo a seguir exibe todas as tags de alocação de custos associadas à fila especificada.

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

Saída:

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

Para obter mais informações, consulte Listar tags de alocação de custos no Guia do desenvolvedor do Amazon Simple Queue Service.

  • Para API obter detalhes, consulte ListQueueTagsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-queues.

AWS CLI

Como listar filas

Este exemplo lista todas as filas.

Comando:

aws sqs list-queues

Saída:

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

Este exemplo lista somente as filas que começam com “My”.

Comando:

aws sqs list-queues --queue-name-prefix My

Saída:

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }
  • Para API obter detalhes, consulte ListQueuesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar purge-queue.

AWS CLI

Para limpar uma fila

Este exemplo exclui todas as mensagens na fila especificada.

Comando:

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

Saída:

None.
  • Para API obter detalhes, consulte PurgeQueuena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar receive-message.

AWS CLI

Como receber uma mensagem

Este exemplo recebe até 10 mensagens disponíveis e retorna todos os atributos disponíveis.

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

Saída:

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

Este exemplo recebe a próxima mensagem disponível, retornando somente os SentTimestamp atributos SenderId e, bem como o atributo da PostalCode mensagem.

Comando:

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

Saída:

{ "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" } } } ] }
  • Para API obter detalhes, consulte ReceiveMessagena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar remove-permission.

AWS CLI

Para remover uma permissão

Este exemplo remove a permissão com o rótulo especificado da fila especificada.

Comando:

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

Saída:

None.
  • Para API obter detalhes, consulte RemovePermissionna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar send-message-batch.

AWS CLI

Como enviar várias mensagens como um lote

Este exemplo envia duas mensagens com os corpos da mensagem, os períodos de atraso e os atributos de mensagem especificados para a fila especificada.

Comando:

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

Arquivo de entrada (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" } } } ]

Saída:

{ "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" } ] }
  • Para API obter detalhes, consulte SendMessageBatchna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar send-message.

AWS CLI

Para enviar uma mensagem

Este exemplo envia uma mensagem com o corpo da mensagem, o período de atraso e os atributos da mensagem especificados para a fila especificada.

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

Arquivo de entrada (send-message.json):

{ "City": { "DataType": "String", "StringValue": "Any City" }, "Greeting": { "DataType": "Binary", "BinaryValue": "Hello, World!" }, "Population": { "DataType": "Number", "StringValue": "1250800" } }

Saída:

{ "MD5OfMessageBody": "51b0a325...39163aa0", "MD5OfMessageAttributes": "00484c68...59e48f06", "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE" }
  • Para API obter detalhes, consulte SendMessagena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar set-queue-attributes.

AWS CLI

Como definir atributos de fila

Este exemplo define a fila especificada com um atraso de entrega de 10 segundos, um tamanho máximo de mensagem de 128 KB (128 KB * 1.024 bytes), um período de retenção de mensagens de 3 dias (3 dias * 24 horas * 60 minutos * 60 segundos), um tempo de espera de recebimento de mensagens de 20 segundos e um tempo limite de visibilidade padrão de 60 segundos. Este exemplo também associa a fila de mensagens não entregues especificada a uma contagem máxima de recebimento de 1.000 mensagens.

Comando:

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

Arquivo de entrada (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" }

Saída:

None.

O código de exemplo a seguir mostra como usar start-message-move-task.

AWS CLI

Exemplo 1: *Para iniciar uma tarefa de movimentação de mensagem*

O start-message-move-task exemplo a seguir inicia uma tarefa de movimentação de mensagens para redirecionar mensagens da fila de mensagens mortas especificada para a fila de origem.

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

Saída:

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

Para obter mais informações, consulte Este é o título do tópico no Nome do seu guia.

Exemplo 2: *Para iniciar uma tarefa de movimentação de mensagens com uma taxa máxima*

O start-message-move-task exemplo a seguir inicia uma tarefa de movimentação de mensagens para redirecionar mensagens da fila de mensagens mortas especificada para a fila de destino especificada a uma taxa máxima de 50 mensagens por segundo.

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

Saída:

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

Para obter mais informações, consulte SQSAPIPermissões da Amazon: ações e referência de recursos no Guia do desenvolvedor.

O código de exemplo a seguir mostra como usar tag-queue.

AWS CLI

Para adicionar tags de alocação de custos a uma fila

O tag-queue exemplo a seguir adiciona uma tag de alocação de custos à SQS fila especificada da Amazon.

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

Este comando não produz saída.

Para obter mais informações, consulte Adicionar tags de alocação de custos no Guia do desenvolvedor do Amazon Simple Queue Service.

  • Para API obter detalhes, consulte TagQueuena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar untag-queue.

AWS CLI

Para remover as tags de alocação de custos de uma fila

O untag-queue exemplo a seguir remove uma tag de alocação de custos da SQS fila especificada da Amazon.

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

Este comando não produz saída.

Para obter mais informações, consulte Adicionar tags de alocação de custos no Guia do desenvolvedor do Amazon Simple Queue Service.

  • Para API obter detalhes, consulte UntagQueuena Referência de AWS CLI Comandos.