A SQS (Simple Queue Service) é uma fila de mensagens: um sistema deixa uma tarefa na fila e segue a vida; outro pega e processa quando puder. Isso desacopla as duas pontas — se quem processa cair, a mensagem espera na fila e nada se perde.
Absorver picos e dar resiliência: em vez de o site travar processando cada pedido na hora, ele joga o pedido na fila e responde rápido; um trabalhador consome a fila no ritmo dele. É a espinha dorsal de sistemas que não podem perder tarefas.
Cada um deles roda de verdade no terminal do CLImb, com a mesma saída e as mesmas mensagens de erro que a AWS devolve.
aws sqs list-queuesaws sqs list-queues
aws sqs list-queues
aws sqs create-queueaws sqs create-queue
aws sqs create-queue --queue-name pedidos-novos aws sqs create-queue --queue-name pagamentos.fifo --attributes FifoQueue=true
aws sqs send-messageaws sqs send-message
aws sqs send-message --queue-url <url> --message-body "pedido 1001"
aws sqs get-queue-attributesaws sqs get-queue-attributes
aws sqs get-queue-attributes --queue-url <url> --attribute-names All
aws sqs receive-messageaws sqs receive-message
aws sqs receive-message --queue-url <url> [--max-number-of-messages 10]
aws sqs delete-messageaws sqs delete-message
aws sqs delete-message --queue-url <url> --receipt-handle <handle>
aws sqs delete-queueaws sqs delete-queue
aws sqs delete-queue --queue-url <url>
aws sqs get-queue-urlaws sqs get-queue-url
aws sqs get-queue-url --queue-name pedidos-novos
aws sqs purge-queueaws sqs purge-queue
aws sqs purge-queue --queue-url <url>
Cada atividade é um pedido de trabalho, do jeito que ele chega no dia a dia — você resolve digitando os comandos, não escolhendo alternativa.
A fila guarda tarefas pra serem processadas depois — o pedido entra na fila e alguém processa no seu tempo. Comece listando as filas da conta.
A loja precisa de uma fila pros pedidos novos. Crie a fila pedidos-novos.
Envie a mensagem pedido 1001 pra fila. A fila é identificada pela URL (não pelo nome!).
Veja os atributos da fila pra saber quantas mensagens estão esperando (ApproximateNumberOfMessages).
Receba a mensagem da fila. Repare no ReceiptHandle que volta — é o comprovante que você usa pra confirmar que processou.
Processou o pedido? Agora apague a mensagem usando o --receipt-handle que veio no receive-message. <small>(sem isso ela volta pra fila — é assim que a SQS garante que nada se perde)</small>
Pagamentos não podem sair de ordem. Crie uma fila FIFO chamada pagamentos.fifo <small>(o nome PRECISA terminar em .fifo)</small>.
A fila pagamentos.fifo era só teste. Apague ela.
Todo comando de fila pede a URL, mas o que você sabe é o nome. Crie a fila fila-suporte e descubra a URL dela pelo nome.
Em teste, apagar mensagem uma a uma é inviável. Limpe a fila-suporte inteira. <small>(em produção isso é irreversível — some com tudo que ainda não foi processado)</small>
Ler explica. Digitar fixa. No CLImb você roda os comandos de verdade num terminal AWS simulado — o estado persiste entre eles, como na nuvem real.
As 3 primeiras atividades desta trilha são abertas; o resto faz parte do plano Pro.
Começar — 3 atividades grátis