Abonnement-Workflow Tutorial: Ausführen des Workflows - Amazon Simple Workflow Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Abonnement-Workflow Tutorial: Ausführen des Workflows

Nun, da Sie die Implementierung Ihres Workflows, Ihrer Aktivitäten sowie der Workflow- und Aktivitäten-Poller abgeschlossen haben, können Sie den Workflow ausführen.

Falls Sie dies noch nicht getan haben, müssen SieAWSZugriffsschlüssel imaws-config.txtDatei, wie inKonfigurieren vonAWS-Sitzungin Teil 1 des Tutorials.

Gehen Sie jetzt zu Ihrer Befehlszeile und ändern Sie das Verzeichnis, in dem sich die Quelldateien der Anleitung befinden. Es sollten folgende Dateien vorhanden sein:

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

Beginnen Sie nun den Workflow mit dem folgenden Befehl.

ruby swf_sns_workflow.rb

Dies startet den Workflow. Außerdem sollte eine Meldung ausgegeben werden, mit einer Zeile, die Sie kopieren und in einem separaten Befehlszeilenfenster (oder sogar auf einem anderen Computer, wenn Sie die Quelldateien der Anleitung darauf kopiert haben) einfügen können.

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

Der Workflow-Code wartet, bis Sie den Aktivitäten-Poller in einem separaten Fenster gestartet haben.

Öffnen Sie ein neues Befehlszeilenfenster, ändern Sie erneut das Verzeichnis, in dem sich die Quelldateien befinden, und verwenden Sie dann den von der Datei swf_sns_workflow.rb bereitgestellten Befehl, um den Aktivitäten-Poller zu starten. Wenn Sie beispielsweise die vorherige Ausgabemeldung erhalten haben, geben (oder fügen) Sie Folgendes ein.

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

Sobald Sie die Ausführung Ihres Aktivitäten-Pollers gestartet haben, beginnt er, Informationen über die Aktivitätenregistrierung auszugeben.

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

Sie können jetzt zu Ihrem ursprünglichen Befehlszeilenfenster zurückkehren und auf die Eingabetaste drücken, um die Workflow-Ausführung zu starten. Sie registriert den Workflow und plant die erste Aktivität.

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

Gehen Sie zurück zu dem anderen Fenster, in dem Ihr Aktivitäten-Poller ausgeführt wird. Das Ergebnis der ersten ausgeführten Aktivität wird angezeigt und eine Eingabeaufforderung für die Eingabe Ihrer E-Mail-Adresse oder SMS-Telefonnummer wird bereitgestellt. Geben Sie eine dieser Informationen oder auch beide ein und bestätigen Sie dann die Texteingabe.

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
Anmerkung

Die hier gezeigte Telefonnummer ist rein fiktiv und wird nur zu Demonstrationszwecken verwendet. Verwenden Sie an dieser Stelle Ihre eigene Telefonnummer bzw. E-Mail-Adresse!

Kurz nach der Eingabe dieser Informationen sollten Sie eine E-Mail oder SMS von Amazon SNS erhalten, in der Sie gebeten werden, Ihr Themenabonnement zu bestätigen. Wenn Sie eine SMS-Telefonnummer eingegeben haben, wird eine Meldung ähnlich der folgenden auf Ihrem Mobiltelefon angezeigt.

Wenn Sie auf diese Nachricht mit YES antworten, erhalten Sie die in send_result_activity bereitgestellte Antwort.

Während all dies ablief, haben Sie gesehen, was in Ihrem Befehlszeilenfenster passiert ist? Sowohl die Workflow- als auch die Aktivitäten-Poller haben intensiv gearbeitet.

Hier sehen Sie die Ausgabe des Workflow-Pollers.

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

Und dies ist die Ausgabe des Aktivitäten-Pollers, der zur selben Zeit in einem anderen Befehlszeilenfenster ablief.

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

Glückwunsch, Ihr Workflow ist abgeschlossen – ebenso wie diese Anleitung!

Sie können den Workflow erneut ausführen, um zu sehen, wie Timeouts funktionieren, oder um unterschiedliche Daten einzugeben. Denken Sie nur daran: Sobald Sie ein Thema abonnieren, haben Sie es so lange abonniert, bis Sie das Abonnement beenden. Das erneute Ausführen des Workflows vor dem Beenden des Abonnements der Themen wird wahrscheinlich automatisch erfolgreich sein, da wait_for_confirmation_activity erkennt, dass Ihr Abonnement bereits bestätigt ist.

So melden Sie sich von dem Amazon SNS SNS-Thema ab

  • Antworten Sie verneinend auf die SMS (senden Sie STOP).

  • Wählen Sie den Link zum Beenden des Abonnements aus, den Sie per E-Mail erhalten haben.

Sie können nun das Thema erneut abonnieren.

Wie geht es weiter?

Dieses Tutorial hat eine Menge abgedeckt, aber es gibt noch viel mehr, das Sie überAWS SDK for Ruby, Amazon SWF oder Amazon SNS. Weitere Informationen und viele weitere Beispiele finden Sie in der jeweiligen offiziellen Dokumentation: