Visão geral do laboratório
Neste laboratório da AWS, você ganhará experiência prática com o Amazon Simple Queue Service (Amazon SQS) ao trabalhar com dois scripts Python. O Amazon SQS é um serviço de enfileiramento de mensagens totalmente gerenciado que ajuda a dissociar os componentes em uma aplicação em nuvem. Ele foi desenvolvido para fornecer um meio de comunicação confiável e escalável.
O Amazon SQS reduz a complexidade e a sobrecarga associadas ao gerenciamento e à operação de middleware orientado a mensagens. Os desenvolvedores podem usá-lo para se concentrar na diferenciação do trabalho. Por exemplo, é possível usar o Amazon SQS como origem de eventos para invocar uma função do Lambda que realiza análise de imagem sempre que uma imagem é carregada em um bucket do Amazon Simple Storage Service (Amazon S3). Ou é possível usar o Amazon SQS para enviar mensagens de uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para outra instância do EC2 para processamento.
O Amazon SQS oferece dois tipos de filas de mensagens: filas padrão e filas FIFO (first in-first-out). As filas padrão oferecem throughput máximo, a melhor ordenação possível e entrega no mínimo uma vez. As filas FIFO foram desenvolvidas para garantir que as mensagens sejam processadas exatamente uma vez, na ordem exata em que são enviadas.
O Amazon SQS funciona da seguinte maneira:
- Um componente de uma aplicação distribuída (um produtor) envia uma mensagem para uma fila no Amazon SQS (uma ação conhecida como enfileiramento). Essa mensagem contém todas as informações necessárias para que o destinatário da mensagem execute uma tarefa.
- A mensagem espera na fila até que um consumidor (outro componente da aplicação distribuída) recupere e processe a mensagem (uma ação conhecida como desenfileiramento).
- O consumidor processa a mensagem e depois a exclui da fila para impedir que ela seja recebida e processada novamente.
Neste laboratório, você trabalhará com dois scripts Python para entender melhor como o Amazon SQS funciona e como é possível usar sua funcionalidade. O primeiro script Python (receive.py) é o destinatário. Ele foi desenvolvido para escutar e receber continuamente mensagens de uma fila SQS. Esse script demonstra o processo de conexão com a fila e recuperação de mensagens em tempo real.
O segundo script Python (send.py) é o produtor. Ele apresenta um desafio de código para ser resolvido. O objetivo é terminar de escrever o código necessário para enviar uma mensagem para a fila SQS. Este laboratório ajuda a entender o processo de envio e recebimento de mensagens de e para a fila para que seja possível aplicar esse conhecimento em cenários do mundo real.
Objetivos
Ao final deste laboratório, você saberá como:
- Analisar a fila do SQS com o uso do console e a AWS Command Line Interface (AWS CLI).
- Analisar e compreender a funcionalidade do script receive.py.
- Executar o script receive.py para ouvir a fila BackgroundCheckApp.
- Atualizar o script send.py para enviar uma mensagem Hello World para a fila BackgroundCheckApp.
- Testar o script send.py para confirmar se ele envia a mensagem corretamente para a fila SQS.
Conhecimentos técnicos necessários
Para concluir este laboratório com êxito, é necessário ter:
- Uma compreensão básica dos serviços da AWS.
- Um nível confortável com o uso do AWS Cloud9 para editar e testar scripts em Python.
Duração
Este laboratório leva 30 minutos.
Lista de ícones
Vários ícones são usados neste laboratório para chamar a atenção para diferentes tipos de instruções e observações. A lista a seguir explica a finalidade de cada ícone:
- Comando: um comando que você precisa executar.
- Saída esperada: um exemplo que você pode usar para verificar a saída de um comando ou arquivo editado.
- Observação: uma sugestão, dica ou orientação importante.
- A considerar: um momento de parar e pensar em como aplicar um conceito no seu ambiente ou iniciar uma conversa sobre o tópico em questão.
- Dica: uma dica para uma pergunta ou um desafio.
- Tarefa concluída: um ponto de conclusão ou de resumo no laboratório.