Tutorial acerca del flujo de trabajo de suscripción: ejecución del flujo de trabajo - Amazon Simple Workflow Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial acerca del flujo de trabajo de suscripción: ejecución del flujo de trabajo

Ahora que ha completado la implementación de su flujo de trabajo, actividades y los sondeadores de flujo de trabajo y actividades, está listo para ejecutar el flujo de trabajo.

Si aún no lo ha hecho, tiene que proporcionar las claves de acceso de AWS en el archivo aws-config.txt, como en Configuración de las sesiones de AWS en la primera parte del tutorial.

Ahora, acceda a la línea de comandos y modifique el directorio donde se encuentran los archivos de origen del tutorial. Debería tener los siguientes archivos:

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

Ahora, inicie el flujo de trabajo con el comando siguiente.

ruby swf_sns_workflow.rb

Esta operación iniciará el flujo de trabajo, y debería imprimir un mensaje con una línea que puede copiar y pegar en una nueva ventana de línea de comandos (o incluso en otro equipo, si ha copiado en él los archivos de origen del tutorial).

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

El código de flujo de trabajo esperará pacientemente a que usted inicie el sondeador de actividad en una ventana diferente.

Abra una nueva ventana de línea de comandos, cambie de nuevo al directorio donde se encuentran los archivos de origen y utilice el comando provisto por el archivo swf_sns_workflow.rb para iniciar el sondeador de actividad. Por ejemplo, si recibe la salida anterior, escriba (o pegue) lo siguiente.

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

Una vez que comienza a ejecutar su sondeador de actividades, este comienza a producir información sobre el registro de actividades.

** 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

Ahora puede volver a la ventana de línea de comandos original y pulsar Intro para comenzar la ejecución del flujo de trabajo. Registrará el flujo de trabajo y programará la primera actividad.

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

Vuelva a la otra ventana, donde se está ejecutando el sondeador de actividades. Se muestra el resultado de la primera actividad que se ejecuta, con una pregunta para que introduzca su correo electrónico o el número de teléfono SMS. Introduzca uno de ellos, o ambos, y confírmelos.

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

El número de teléfono que se indica aquí es ficticio, solo tiene fines ilustrativos. Escriba su propio número de teléfono y dirección de correo electrónico aquí.

Al poco tiempo de introducir esta información, recibirá un correo electrónico o mensaje de texto de Amazon SNS en el que se le pedirá que confirme la suscripción al tema. Si introdujo un número de SMS, verá en su teléfono algo parecido a lo siguiente:

Si responde YES a este mensaje, recibirá la respuesta que hemos proporcionado en send_result_activity.

Mientras tenía lugar todo esto, ¿se fijó en lo que estaba ocurriendo en su ventana de línea de comandos? Tanto el sondeador de flujo de trabajo como el de actividad han estado muy ocupados.

Esta es la salida del sondeador de flujo de trabajo.

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

Esta es la salida del sondeador de actividades, que se ha generado al mismo tiempo en otra ventana de línea de comandos.

++ 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!

Enhorabuena, su flujo de trabajo se ha completado y este tutorial ha finalizado.

Puede volver a ejecutar el flujo de trabajo para ver cómo funcionan los tiempos de espera, o probar a introducir datos diferentes. Recuerde que una vez que se suscriba a un tema, seguirá suscrito hasta que cancele la suscripción. Volver a ejecutar el flujo de trabajo antes de cancelar la suscripción a los temas probablemente tenga como resultado un éxito automático, ya que wait_for_confirmation_activity verá que su suscripción ya está confirmada.

Para cancelar la suscripción a un tema de Amazon SNS

  • Responda de forma negativa (envíe STOP) al mensaje de texto.

  • Elija el enlace para cancelar la suscripción que recibió en su correo electrónico.

Ahora ya puede volver a suscribirse al tema.

¿Qué tengo que hacer ahora?

Este tutorial ha abarcado muchos aspectos, pero aún hay mucho más que puede aprender sobre el AWS SDK for Ruby, Amazon SWF o Amazon SNS. Para obtener más información y muchos más ejemplos, consulte la documentación oficial de cada producto: