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
--labelSendMessagesFromMyQueue
--aws-account-ids12345EXAMPLE
--actionsSendMessage
Saída:
None.
-
Para API obter detalhes, consulte AddPermission
na 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.
-
Para API obter detalhes, consulte CancelMessageMoveTask
na Referência de AWS CLI Comandos.
-
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
--entriesfile://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" } ] }
-
Para API obter detalhes, consulte ChangeMessageVisibilityBatch
na Referência de AWS CLI Comandos.
-
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-handleAQEBTpyI...t6HyQg==
--visibility-timeout36000
Saída:
None.
-
Para API obter detalhes, consulte ChangeMessageVisibility
na Referência de AWS CLI Comandos.
-
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
--attributesfile://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 CreateQueue
na 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
--entriesfile://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" } ] }
-
Para API obter detalhes, consulte DeleteMessageBatch
na Referência de AWS CLI Comandos.
-
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-handleAQEBRXTo...q2doVA==
Saída:
None.
-
Para API obter detalhes, consulte DeleteMessage
na 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 DeleteQueue
na 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-namesAll
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-namesMaximumMessageSize
VisibilityTimeout
Saída:
{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }
-
Para API obter detalhes, consulte GetQueueAttributes
na Referência de AWS CLI Comandos.
-
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 GetQueueUrl
na 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" ] }
-
Para API obter detalhes, consulte ListDeadLetterSourceQueues
na Referência de AWS CLI Comandos.
-
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-results2
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.
-
Para API obter detalhes, consulte ListMessageMoveTasks
na Referência de AWS CLI Comandos.
-
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 ListQueueTags
na 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 ListQueues
na 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 PurgeQueue
na 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-namesAll
--message-attribute-namesAll
--max-number-of-messages10
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-namesSenderId
SentTimestamp
--message-attribute-namesPostalCode
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 ReceiveMessage
na 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
--labelSendMessagesFromMyQueue
Saída:
None.
-
Para API obter detalhes, consulte RemovePermission
na 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
--entriesfile://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 SendMessageBatch
na 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-seconds10
--message-attributesfile://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 SendMessage
na 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
--attributesfile://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.
-
Para API obter detalhes, consulte SetQueueAttributes
na Referência de AWS CLI Comandos.
-
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-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2
\ --max-number-of-messages-per-second50
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.
-
Para API obter detalhes, consulte StartMessageMoveTask
na Referência de AWS CLI Comandos.
-
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
\ --tagsPriority=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 TagQueue
na 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 UntagQueue
na Referência de AWS CLI Comandos.
-