Tutorial sul flusso di lavoro d' Esecuzione del flusso di lavoro - Amazon Simple Workflow Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial sul flusso di lavoro d' Esecuzione del flusso di lavoro

Ora che hai completato l'implementazione del flusso di lavoro, delle attività e dei rispettivi poller, sei pronto a eseguire il flusso di lavoro.

Se non lo hai ancora fatto, dovrai fornire laAWSchiavi di accesso nelaws-config.txtfile, come inConfigurazione dellaAWSSessionenella parte 1 del tutorial.

Ora, vai alla riga di comando e modificalo nella directory in cui si trovano i file di origine del tutorial. Devi disporre dei seguenti file:

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

Ora, avvia il flusso di lavoro con il comando seguente.

ruby swf_sns_workflow.rb

In questo modo inizia il flusso di lavoro e viene stampato un messaggio con una riga che puoi copiare e incollare in una finestra distinta di riga di comando (o in un altro computer, se vi hai copiato i file di origine 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...

Il codice del flusso di lavoro attenderà pazientemente che tu avvii il poller di attività in una finestra separata.

Apri una nuova finestra di riga di comando, modificala nuovamente sulla directory dove si trovano i file di origine, quindi utilizza il comando fornito dal file swf_sns_workflow.rb per avviare il poller di attività. Ad esempio, se hai ricevuto l'output precedente, puoi digitare (o incollare) quanto segue.

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

Una volta iniziata, l'esecuzione del poller di attività comincerà a emettere informazioni sulla registrazione delle attività.

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

Ora puoi tornare alla finestra di riga di comando originale e premere return (restituisci) per avviare l'esecuzione del flusso di lavoro. Il comando registra il flusso di lavoro e pianifica la prima attività.

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

Torna all'altra finestra, quella in cui il poller di attività è in esecuzione. Viene mostrato il risultato della prima attività in esecuzione con un prompt per inserire l'indirizzo e-mail o il numero di telefono per gli SMS. Inserisci uno o tutti e due i dati e conferma l'inserimento del testo.

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

Il numero di telefono fornito è fittizio ed è utilizzato solo a scopo illustrativo. Utilizza qui il tuo numero di telefono e l'indirizzo e-mail!

Poco dopo l'inserimento di queste informazioni, riceverai una e-mail o un messaggio di testo da Amazon SNS, che ti chiede di confermare la sottoscrizione dell'argomento. Se hai inserito un numero per gli SMS, sul telefono vedrai qualcosa dall'aspetto simile.

Se rispondi a questo messaggio con YES, riceverai la risposta che abbiamo fornito in send_result_activity.

Mentre succedeva tutto questo, hai visto cosa succedeva nella finestra delle righe di comando? Il flusso di lavoro e i poller di attività sono stati messi a dura prova.

Ecco l'output dal poller del flusso di lavoro.

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

Ecco l'output dal poller di attività, che stava accadendo nello stesso momento in un'altra finestra delle righe di 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!

Complimenti, il flusso di lavoro è completo, come questo tutorial!

Puoi scegliere di eseguire nuovamente il flusso di lavoro per vedere come funzionano i timeout o per inserire dati diversi. Ricorda che una volta che sei sottoscritto a un argomento, sei sottoscritto fino a quando non annulli la sottoscrizione. Rieseguire il flusso di lavoro prima di annullare la sottoscrizione agli argomenti avrà probabilmente come risultato un successo automatico, poiché wait_for_confirmation_activity vedrà che la sottoscrizione è già confermata.

Per annullare la sottoscrizione dall'argomento Amazon SNS

  • Rispondi in forma negativa (invia STOP) al messaggio di testo.

  • Scegli il link per annullare la sottoscrizione che hai ricevuto nell'e-mail.

Ora sei pronto a rieseguire la sottoscrizione all'argomento.

Cosa fare in seguito?

Questo tutorial ha coperto molti argomenti, ma c'è ancora molto da imparare suAWS SDK for Ruby, Amazon SWF o Amazon SNS. Per ulteriori informazioni e per tanti altri esempi, consulta la documentazione ufficiale per ciascuno dei seguenti: