Processar mensagens de alto volume do Amazon SQS com fluxos de trabalho expressos do Step Functions
Esse exemplo de projeto demonstra como usar um AWS Step Functions fluxos de trabalho expresso para processar mensagens ou dados de uma origem de evento de alto volume, como o Amazon Simple Queue Service (Amazon SQS). Como os fluxos de trabalho expressos podem ser iniciados em uma taxa muito alta, eles são ideais para processamento de eventos de alto volume ou cargas de trabalho de dados em streaming.
Aqui estão dois métodos comumente usados para executar sua máquina de estado de uma fonte de evento:
-
Configure uma regra do Amazon CloudWatch Events para iniciar uma execução de máquina de estado sempre que a origem do evento emitir um evento. Para obter mais informações, consulte Criação de uma regra do CloudWatch Events que é disparada quando um evento ocorre.
-
Mapeie a origem do evento para uma função do Lambda e escreva o código da função para executar sua máquina de estado. A função do AWS Lambda é invocada sempre que a origem do evento emite um evento, iniciando uma execução da máquina de estado. Para obter mais informações, consulte Usar o AWS Lambda com o Amazon SQS.
O exemplo de projeto usa o segundo método para iniciar uma execução cada vez que a fila do Amazon SQS enviar uma mensagem. Você pode usar uma configuração semelhante para acionar a execução do fluxos de trabalho expressos a partir de outras fontes de eventos, como o Amazon Simple Storage Service (Amazon S3), o Amazon DynamoDB e o Amazon Kinesis.
Para obter mais informações sobre o fluxos de trabalho expressos e as integrações de serviço do Step Functions, consulte o seguinte:
Etapa 1: Criar a máquina de estado
-
Abra o console do Step Functions
e clique em Criar máquina de estado. -
Selecione Criar a partir do modelo e encontre o modelo inicial relacionado. Escolha Próximo para continuar.
-
Escolha como usar o modelo:
-
Executar uma demonstração: cria uma máquina de estado somente leitura. Após a revisão, você pode criar o fluxo de trabalho e todos os recursos relacionados.
-
Comece a criar: fornece uma definição de fluxo de trabalho editável que você pode revisar, personalizar e implantar com seus próprios recursos. (Recursos relacionados, como perfis ou filas, não serão criados automaticamente.)
-
-
Escolha Usar modelo para continuar com a seleção.
nota
Cobranças padrão são aplicadas aos serviços implantados na conta.
Etapa 2: Acionar a execução da máquina de estado
-
Abra o console do Amazon SQS
. -
Selecione a fila que foi criada pelo projeto de exemplo.
O nome será semelhante a Example-SQSQueue-wJalrXUtnFEMI.
-
Na lista Queue Actions (Ações da fila), selecione Send a Message (Enviar uma mensagem).
-
Use o botão de cópia para copiar a seguinte mensagem e, na janela Send a Message (Enviar uma mensagem), insira-a e escolha Send Message (Enviar mensagem) .
nota
Nesta mensagem de exemplo, a linha
input:foi formatada com quebras de linha para caber na página. Use o botão Copiar ou certifique-se de que ele seja inserido como uma única linha sem quebras.{ "input": "QW5kIGxpa2UgdGhlIGJhc2VsZXNzIGZhYnJpYyBvZiB0aGlzIHZpc2lvbiwgVGhlIGNsb3VkLWNhcHBlZCB0b3dlcnMsIHRoZSBnb3JnZW91cyBwYWxhY2VzLCBUaGUgc29sZW1uIHRlbXBsZXMsIHRoZSBncmVhdCBnbG9iZSBpdHNlbGbigJQgWWVhLCBhbGwgd2hpY2ggaXQgaW5oZXJpdOKAlHNoYWxsIGRpc3NvbHZlLCBBbmQgbGlrZSB0aGlzIGluc3Vic3RhbnRpYWwgcGFnZWFudCBmYWRlZCwgTGVhdmUgbm90IGEgcmFjayBiZWhpbmQuIFdlIGFyZSBzdWNoIHN0dWZmIEFzIGRyZWFtcyBhcmUgbWFkZSBvbiwgYW5kIG91ciBsaXR0bGUgbGlmZSBJcyByb3VuZGVkIHdpdGggYSBzbGVlcC4gU2lyLCBJIGFtIHZleGVkLiBCZWFyIHdpdGggbXkgd2Vha25lc3MuIE15IG9sZCBicmFpbiBpcyB0cm91YmxlZC4gQmUgbm90IGRpc3R1cmJlZCB3aXRoIG15IGluZmlybWl0eS4gSWYgeW91IGJlIHBsZWFzZWQsIHJldGlyZSBpbnRvIG15IGNlbGwgQW5kIHRoZXJlIHJlcG9zZS4gQSB0dXJuIG9yIHR3byBJ4oCZbGwgd2FsayBUbyBzdGlsbCBteSBiZWF0aW5nIG1pbmQu" } -
Escolha Fechar.
-
Abra o console do Step Functions.
-
Acesse seu grupo de logs do Amazon CloudWatch Logs
e inspecione os registros. O nome do grupo de logs será parecido com example-ExpressLogGroup-wJalrXUtnFEMI.