

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 di sottoscrizione: esecuzione del flusso di lavoro
<a name="swf-sns-tutorial-running-the-workflow"></a>

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 l'hai già fatto, dovrai fornire le chiavi di AWS accesso nel `aws-config.txt` file, come [Configurazione della sessione AWS](swf-sns-tutorial-setup-swf.md#configuring-the-aws-session) nella 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\!

Subito dopo aver inserito queste informazioni, riceverai un'e-mail o un messaggio di testo da Amazon SNS in cui ti verrà chiesto di confermare l'abbonamento all'argomento. Se hai inserito un numero per gli SMS, sul telefono vedrai qualcosa dall'aspetto simile.

 ![](http://docs.aws.amazon.com/it_it/amazonswf/latest/developerguide/images/swf_sns_sample_sms_request.png) 

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

 ![](http://docs.aws.amazon.com/it_it/amazonswf/latest/developerguide/images/swf_sns_sample_sms_success.png) 

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*. La riesecuzione del flusso di lavoro prima di annullare l'iscrizione agli argomenti avrà probabilmente esito positivo automaticamente, poiché `wait_for_confirmation_activity` vedrà che l'abbonamento è già confermato.

**Per annullare l'iscrizione all'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?
<a name="where-do-i-go-from-here"></a>

Questo tutorial ha coperto molti argomenti, ma c'è ancora molto altro che puoi imparare su Amazon SWF o Amazon SNS. AWS SDK per Ruby Per ulteriori informazioni e per tanti altri esempi, consulta la documentazione ufficiale per ciascuno dei seguenti:
+ [Documentazione AWS SDK per Ruby](https://aws.amazon.com/documentation/sdkforruby/)
+ [Documentazione del servizio Amazon Simple Notification](https://aws.amazon.com/documentation/sns/)
+ [Documentazione del servizio Amazon Simple Workflow](https://aws.amazon.com/documentation/swf/)