Tutorial de fluxo de trabalho de inscrição: Executar o fluxo de trabalho - Amazon Simple Workflow Service

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á.

Tutorial de fluxo de trabalho de inscrição: Executar o fluxo de trabalho

Agora que você concluiu a implementação do seu fluxo de trabalho, das atividades e dos agentes de sondagem de fluxo de trabalho e atividade, está pronto para executá-lo.

Se ainda não tiver feito isso, você precisará fornecer suas chaves de acesso AWS no arquivo aws-config.txt, como em Configuração da sessão da AWS na Parte 1 do tutorial.

Agora, acesse sua linha de comando e mude para o diretório onde os arquivos de origem do tutorial estão localizados. Você terá os seguintes arquivos:

. |-- aws-config.txt |-- basic_activity.rb |-- get_contact_activity.rb |-- send_result_activity.rb |-- subscribe_topic_activity.rb |-- swf_sns_activities.rb |-- swf_sns_workflow.rb |-- utils.rb `-- wait_for_confirmation_activity.rb

Agora, inicie o fluxo de trabalho com o seguinte comando.

ruby swf_sns_workflow.rb

Isso iniciará o fluxo de trabalho e imprimirá uma mensagem com uma linha que você pode copiar e colar em uma janela de linha de comando separada (ou até mesmo em outro computador, se tiver copiado os arquivos de origem do tutorial nele).

Amazon SWF Example ------------------ Start the activity worker, preferably in a separate command-line window, with the following command: > ruby swf_sns_activities.rb 87097e76-7c0c-41c7-817b-92527bb0ea85-activities You can copy & paste it if you like, just don't copy the '>' character. Press return when you're ready...

O código do fluxo de trabalho aguardará pacientemente até que você inicie o agente de sondagem de atividade em uma janela separada.

Abra uma nova janela de linha de comando, mude para o diretório em que os arquivos de origem estão novamente localizados e use o comando fornecido pelo arquivo swf_sns_workflow.rb para iniciar o agente de sondagem de atividades. Por exemplo, se você recebeu a saída anterior, digite (ou cole) o seguinte.

ruby swf_sns_activities.rb 87097e76-7c0c-41c7-817b-92527bb0ea85-activities

Depois de começar a executar seu agente de sondagem de atividades, ele começará a exibir informações sobre o registro de atividades.

** initialized and registered activity: get_contact_activity ** initialized and registered activity: subscribe_topic_activity ** initialized and registered activity: wait_for_confirmation_activity ** initialized and registered activity: send_result_activity

Agora, você pode retornar à sua janela de linha de comando original e pressionar Return para iniciar a execução do fluxo de trabalho. Ele registrará o fluxo de trabalho e agendará a primeira atividade.

Starting workflow execution. ** registered workflow: swf-sns-workflow ** scheduling activity task: get_contact_activity

Volte para a outra janela, na qual o seu agente de sondagem está sendo executado. O resultado da primeira atividade em execução é exibido, fornecendo um prompt para você inserir seu e-mail ou número de telefone SMS. Insira um desses dados, ou ambos, e depois confirme sua entrada de texto.

activity task received: <AWS::SimpleWorkflow::ActivityTask> ** Starting activity task: get_contact_activity Please enter either an email address or SMS message (mobile phone) number to receive Amazon SNS notifications. You can also enter both to use both address types. If you enter a phone number, it must be able to receive SMS messages, and must be 11 digits (such as 12065550101 to represent the number 1-206-555-0101). Email: me@example.com Phone: 12065550101 You entered: email: me@example.com phone: 12065550101 Is this correct? (y/n): y
nota

O número de telefone fornecido é fictício e é usado apenas para fins ilustrativos. Use seu próprio número de telefone e endereço de e-mail aqui!

Logo após inserir essas informações, você deverá receber um e-mail ou mensagem de texto do Amazon SNS, solicitando a confirmação da assinatura do tópico. Se tiver digitado um número de SMS, verá algo como o seguinte aparecer no seu telefone.

Se você responder a esta mensagem com YES, receberá a resposta que fornecemos em send_result_activity.

Enquanto tudo isso estava acontecendo, você viu o que estava acontecendo na sua janela de linha de comando? Os agentes de sondagem de fluxo de trabalho e de atividades tiveram um trabalho duro.

Aqui está a saída do agente de sondagem de fluxo de trabalho.

** scheduling activity task: subscribe_topic_activity ** scheduling activity task: wait_for_confirmation_activity ** scheduling activity task: send_result_activity !! All activities complete! Sending complete_workflow_execution...

Veja a seguir a saída do agente de sondagem de atividades, que estava acontecendo ao mesmo tempo em outra janela de linha de comando.

++ Activity task completed: get_contact_activity ** Starting activity task: subscribe_topic_activity ++ Activity task completed: subscribe_topic_activity ** Starting activity task: wait_for_confirmation_activity Topic subscription still pending for (email: me@example.com) Topic subscription confirmed for (sms: 12065550101) ++ Activity task completed: wait_for_confirmation_activity ** Starting activity task: send_result_activity Thanks, you've successfully confirmed registration, and your workflow is complete! ++ Activity task completed: send_result_activity All done!

Parabéns! Seu fluxo de trabalho está completo e este tutorial também!

Você pode querer repetir a execução do fluxo de trabalho para ver como os tempos limite funcionam ou para inserir dados diferentes. Apenas lembre-se de que, depois de se inscrever em um tópico, você continuará inscrito até cancelar o processo. Executar novamente o fluxo de trabalho antes de cancelar a inscrição em tópicos provavelmente resultará no sucesso automático, uma vez que o wait_for_confirmation_activity verificará que sua assinatura já está confirmada.

Para cancelar a assinatura do tópico do Amazon SNS

  • Responda negativamente (envie STOP) à mensagem de texto.

  • Escolha o link de cancelamento de inscrição que você recebeu em seu e-mail.

Agora, você está pronto para repetir a inscrição no tópico.

Para onde ir agora?

Este tutorial cobriu uma grande quantidade de assuntos, mas ainda há muito mais que você pode aprender sobre o AWS SDK for Ruby, o Amazon SWF ou o Amazon SNS. Para mais informações e muitos outros exemplos, consulte a documentação oficial de cada um: