Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples
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, é possível 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.
-