Didacticiel sur le flux de travail Exécution du flux de travail - Amazon Simple Workflow Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Didacticiel sur le flux de travail Exécution du flux de travail

Maintenant que vous avez terminé la mise en œuvre du flux de travail, des activités et des observateurs de flux de travail et d'activités, vous êtes prêt à exécuter le flux de travail.

Si vous ne l'avez pas déjà fait, vous devrez fournir votreAWSclés d'accès dans leaws-config.txtfichier, comme dansConfiguration deAWSSessionDans la première partie du didacticiel.

A présent, accédez à votre ligne de commande et activez le répertoire dans lequel se trouvent les fichiers sources du didacticiel. Les fichiers suivants devraient s'y trouver :

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

Désormais, démarrez le flux de travail avec la commande suivante.

ruby swf_sns_workflow.rb

Cette opération lance le flux de travail et devrait imprimer un message avec une ligne que vous pouvez copier et coller dans une nouvelle fenêtre de ligne de commande (voire sur un autre ordinateur, si vous y avez copié les fichiers sources du didacticiel).

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

Le code du flux de travail attend patiemment que vous démarriez l'observateur d'activités dans une fenêtre séparée.

Ouvrez une nouvelle fenêtre de ligne de commande, activez à nouveau le répertoire dans lequel les fichiers sources se trouvent, puis utilisez la commande fournie par le fichier swf_sns_workflow.rb pour démarrer l'observateur d'activités. Par exemple, si vous avez reçu le résultat précédent, vous tapez (ou collez) ce qui suit.

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

Une fois que vous commencez à exécuter l'observateur d'activités, il se met à générer des informations sur l'enregistrement des activités.

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

Vous pouvez maintenant revenir à la fenêtre de ligne de commande d'origine et appuyer sur Entrée pour lancer l'exécution du flux de travail. Cette action enregistre le flux de travail et planifie la première activité.

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

Retournez dans la fenêtre où l'observateur d'activités est exécuté. Le résultat de la première activité qui en cours d'exécution s'affiche, avec une invite vous permettant de saisir votre adresse e-mail ou le numéro de téléphone SMS. Renseignez l'une de ces informations ou les deux, puis confirmez-les.

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
Note

Le numéro de téléphone fourni ici est fictif. Il est utilisé uniquement à des fins d'illustration. Indiquez votre propre numéro de téléphone et votre adresse e-mail.

Peu de temps après la saisie de ces informations, vous devriez recevoir un e-mail ou un SMS d'Amazon SNS vous demandant de confirmer l'abonnement à la rubrique. Si vous avez saisi un numéro de SMS, ce qui apparaît sur votre téléphone ressemble à ceci.

Si vous répondez à ce message par YES, vous obtiendrez la réponse que nous avons fournie dans send_result_activity.

Avez-vous vu ce qui s'est passé dans la fenêtre de ligne de commande pendant ce temps ? L'observateur de flux de travail et l'observateur d'activités étaient affairés.

Voici le résultat de l'observateur de flux de travail.

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

Voici le résultat de l'observateur d'activités, qui a été généré en même temps dans une autre fenêtre de ligne de commande.

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

Félicitations, votre flux de travail est terminé, ce qui marque également la fin de ce didacticiel !

Vous souhaiterez peut-être exécuter le flux de travail à nouveau pour voir comment les délais fonctionnent ou pour saisir des données différentes. N'oubliez pas qu'une fois que vous vous abonnez à une rubrique, vous y restez abonné tant que vous n'annulez pas l'abonnement. La ré-exécution du flux de travail sans vous désabonner des rubriques entraînera probablement une réussite automatique, car l'événement wait_for_confirmation_activity verra que votre abonnement est déjà confirmé.

Pour annuler l'abonnement à la rubrique Amazon SNS

  • Répondez au SMS par la négative (envoyez STOP).

  • Choisissez le lien de désabonnement que vous avez reçu dans votre e-mail.

Vous pouvez maintenant vous ré-abonner à la rubrique.

Comment procéder ensuite ?

Ce didacticiel couvre de nombreux éléments, mais il y a encore beaucoup à apprendre concernant le jeuAWS SDK for Ruby, Amazon SWF ou Amazon SNS. Pour consulter plus d'informations, ainsi que d'autres exemples, reportez-vous à la documentation officielle de chaque produit :