Neste tutorial, você aprenderá a configurar mensagens assíncronas com o Amazon Simple Queue Service (Amazon SQS). O Amazon SQS é o serviço da AWS que permite a comunicação de componentes de aplicativos na nuvem. Você usará o console do Amazon SQS para criar e configurar uma fila de mensagens, enviar uma mensagem, receber e excluir essa mensagem e excluir a fila.

Os serviços da AWS usados neste tutorial estão dentro do nível gratuito da AWS.

É necessária uma conta para enviar mensagens na AWS

Crie uma conta gratuita

O nível gratuito da AWS inclui 1 milhão de solicitações do Amazon Simple Queue Service.

Consulte os detalhes do nível gratuito da AWS »

 


a. Clique aqui para abrir o Console de Gerenciamento da AWS em uma nova janela do navegador para que você possa manter aberto este guia detalhado.  Quando a tela carregar, digite seu nome de usuário e senha para começar. Em seguida, digite queue na barra de pesquisa e selecione Simple Queue Service para abrir o console.

tmt_send-receive-async-messages_1a

(clique para ampliar)

tmt_send-receive-async-messages_1a

b.  Se a página inicial do console do SQS for exibida, como mostrado na captura de tela, clique em Get Started Now (Comece a usar agora). Caso não veja essa página, pule para a próxima etapa.

tmt_send-receive-async-messages_1b

(clique para ampliar)

tmt_send-receive-async-messages_1b

Nesta etapa, você criará e configurará uma fila do Amazon SQS. Uma fila é um buffer confiável e altamente escalável que armazena mensagens em trânsito entre aplicações ou microsserviços distribuídos. As filas ajudam a desacoplar aplicativos, conectar microsserviços, agrupar tarefas em lotes e armazenar notificações.

Nosso caso de uso deste tutorial simulará o armazenamento de pedidos recebidos de um aplicativo de comércio eletrônico.


a. Primeiro, criaremos uma fila simples que armazena pedidos criados na loja. Digite Orders no campo Queue Name (Nome da fila).  

tmt_send-receive-async-messages_2a

(clique para ampliar)

tmt_send-receive-async-messages_2a

b. Neste tutorial, não exigimos uma ordem rigorosa. Portanto, não mudaremos o tipo da fila. Deixe a opção Fila padrão selecionada.  

tmt_send-receive-async-messages_2b

(clique para ampliar)

tmt_send-receive-async-messages_2b

c. Você pode modificar configurações da fila como período de retenção, tamanho máximo de mensagens e atrasos de entrega. Neste tutorial, manteremos os parâmetros padrão. Clique em Criar fila rápido.

tmt_send-receive-async-messages_2c

(clique para ampliar)

tmt_send-receive-async-messages_2c

d. A nova fila é criada e selecionada na lista de filas.

tmt_send-receive-async-messages_2d

(clique para ampliar)

tmt_send-receive-async-messages_2d

Depois de ser criada, a fila estará pronta para receber mensagens da loja online que capturam os detalhes de cada novo pedido.


a.  Sua fila já está selecionada na lista. Em Queue Actions (Ações de fila), selecione Send a Message (Enviar uma mensagem). A caixa de diálogo Send a Message to Orders (Enviar uma mensagem para pedidos) é exibida.

tmt_send-receive-async-messages_3a

(clique para ampliar)

tmt_send-receive-async-messages_3a

b. A caixa de diálogo Send a Message to Orders (Enviar uma mensagem para pedidos) é exibida. Na guia Body Message (Mensagem do corpo), insira o texto a seguir para representar um exemplo de pedido:

1 x Widget @ 29,99 USD
2 x Widget Cables @ 4,99 USD

tmt_send-receive-async-messages_3b

(clique para ampliar)

tmt_send-receive-async-messages_3b

c. Selecione a guia Message Attributes (Atributos da mensagem) para adicionar alguns metadados opcionais sobre esta mensagem para facilitar o processamento. Vamos adicionar um tipo de pedido ao pedido. Digite Order-Type (Tipo do pedido) no campo Name (Nome), String (String) no campo Type (Tipo) e Online (Online) no campo Value (Valor). Clique em Add Attribute (Adicionar atributo).

tmt_send-receive-async-messages_3c

(clique para ampliar)

tmt_send-receive-async-messages_3c

d. Para enviar a mensagem imediatamente, clique em Send Message (Enviar mensagem). Uma confirmação do envio da mensagem é exibida na caixa de diálogo Send a Message to Orders (Enviar uma mensagem para pedidos). Clique em Close (Fechar).

tmt_send-receive-async-messages_3d

(clique para ampliar)

tmt_send-receive-async-messages_3d

Depois de enviar uma mensagem para uma fila, outro aplicativo pode consumir essa mensagem da fila e fazer algo com ela. Neste exemplo, você simplesmente recupera a mensagem para visualizar o pedido e excluir a mensagem.


a. Verifique se a fila Orders (Pedidos) está selecionada na lista de filas. Em seguida, em Queue Actions (Ações da fila), selecione View/Delete Messages (Visualizar/Excluir mensagens).

tmt_send-receive-async-messages_4a

(clique para ampliar)

tmt_send-receive-async-messages_4a

b. A caixa de diálogo View/Delete Messages in Orders (Visualizar/Excluir mensagens nos pedidos) é exibida. Quando você solicita uma mensagem de uma fila, não especifica a solicitação de uma mensagem específica. Você especifica o número máximo de mensagens (até 10) que você quer recuperar.

Clique m Start Polling for messages (Iniciar seleção de mensagens) para recuperar mensagens da fila.  

tmt_send-receive-async-messages_4b

(clique para ampliar)

tmt_send-receive-async-messages_4b

c. Depois que um consumidor recebe e processa uma imagem, ela poderá ser excluída da fila. Selecione a mensagem que você quer excluir e escolha Delete 1 Message (Excluir 1 mensagem).

tmt_send-receive-async-messages_4c

(clique para ampliar)

tmt_send-receive-async-messages_4c

d. A caixa de diálogo Delete Messages (Excluir mensagens) é exibida. Marque a caixa ao lado da mensagem e clique em Yes, Delete Checked Messages (Sim, excluir mensagens marcadas). A mensagem selecionada é excluída. Escolha Close (Fechar).

tmt_send-receive-async-messages_4d

(clique para ampliar)

tmt_send-receive-async-messages_4d

Quando você não precisar mais usar uma fila do Amazon SQS, recomendamos que você exclua a fila, como uma melhor prática.


a. Na lista de filas, escolha a fila Orders (Pedidos). Em Queue Actions (Ações de fila), selecione Delete Queue (Excluir fila).

tmt_send-receive-async-messages_5a

(clique para ampliar)

tmt_send-receive-async-messages_5a

b. A caixa de diálogo Delete Queues (Excluir filas) é exibida. Você pode excluir a fila, mesmo que ainda existam mensagens nela. Escolha Yes, Delete Queue (Sim, excluir fila). A fila é excluída.

tmt_send-receive-async-messages_5b

(clique para ampliar)

tmt_send-receive-async-messages_5b

Você criou a sua primeira fila de mensagens do Amazon Simple Queue Service (Amazon SQS), enviou mensagens para a sua fila, recuperou e excluiu mensagens, e excluiu a fila. Agora, você está pronto para usar filas do Amazon SQS para armazenar e movimentar dados entre componentes de aplicativos e microsserviços distribuídos.

Agora que você já aprendeu como usar o Amazon Simple Queue Service para enviar e receber mensagens, escolha uma das seguintes opções para desenvolver ainda mais suas habilidades de processamento de mensagens.

Saiba mais

Confira uma visão geral de capacidades, componentes e casos de uso de filas de mensagens na Amazon Web Services (AWS).

Acesse a página do Amazon SQS »

Aprofunde-se

Explore os diferentes tipos de filas, os principais recursos e a arquitetura do Amazon Simple Queue Service.

Leia a documentação »

Veja em ação

Saiba como clientes como a Capital One usam o Amazon SQS e o Amazon SNS para desacoplar e escalar aplicativos.

Assista ao webinar »

Sim
Não