SWFEsempi di utilizzo di Amazon AWS CLI - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

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

SWFEsempi di utilizzo di Amazon AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando il AWS Command Line Interface con AmazonSWF.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, puoi vedere le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecount-closed-workflow-executions.

AWS CLI

Conteggio delle esecuzioni di workflow chiuse

È possibile utilizzare swf count-closed-workflow-executions per recuperare il numero di esecuzioni di workflow chiuse per un determinato dominio. È possibile specificare filtri per contare classi specifiche di esecuzioni.

Gli --start-time-filter argomenti --domain e either --close-time-filter or sono obbligatori. Tutti gli altri argomenti sono facoltativi.

aws swf count-closed-workflow-executions \ --domain DataFrobtzz \ --close-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"

Output:

{ "count": 2, "truncated": false }

Se «troncato» ètrue, allora «count» rappresenta il numero massimo che può essere restituito da Amazon. SWF Eventuali ulteriori risultati vengono troncati.

Per ridurre il numero di risultati restituiti, puoi:

modificare i --start-time-filter valori --close-time-filter o per restringere l'intervallo di tempo in cui viene effettuata la ricerca. Ciascuno di questi si esclude a vicenda: puoi specificarne solo uno in una richiesta. Utilizza gli argomenti--close-status-filter,--execution-filter, --tag-filter o --type-filter per filtrare ulteriormente i risultati. Tuttavia, anche questi argomenti si escludono a vicenda.

Vedi anche CountClosedWorkflowExecutionsnella pagina di APIriferimento del servizio Amazon Simple Workflow

Il seguente esempio di codice mostra come utilizzarecount-open-workflow-executions.

AWS CLI

Conteggio delle esecuzioni di flussi di lavoro aperti

È possibile utilizzarlo swf count-open-workflow-executions per recuperare il numero di esecuzioni di workflow aperte per un determinato dominio. È possibile specificare filtri per contare classi specifiche di esecuzioni.

Gli --start-time-filter argomenti --domain and sono obbligatori. Tutti gli altri argomenti sono facoltativi.

aws swf count-open-workflow-executions \ --domain DataFrobtzz \ --start-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"

Output:

{ "count": 4, "truncated": false }

Se «troncato» ètrue, allora «count» rappresenta il numero massimo che può essere restituito da Amazon. SWF Eventuali ulteriori risultati vengono troncati.

Per ridurre il numero di risultati restituiti, puoi:

modificare i --start-time-filter valori per restringere l'intervallo di tempo in cui viene effettuata la ricerca. Utilizzare gli --type-filter argomenti--close-status-filter,--execution-filter, --tag-filter o per filtrare ulteriormente i risultati. Ciascuno di questi si esclude a vicenda: è possibile specificare solo uno di questi in una richiesta.

Per ulteriori informazioni, consulta CountOpenWorkflowExecutions Amazon Simple Workflow Service API Reference

Il seguente esempio di codice mostra come utilizzaredeprecate-domain.

AWS CLI

Deprecare un dominio

Per impostare come obsoleto un dominio (che resta comunque visibile, ma non può essere utilizzato per creare nuove esecuzioni di flussi di lavoro o registrare tipi), utilizza swf deprecate-domain. Esiste un solo parametro obbligatorio, --name, che assume il nome del dominio da dichiarare obsoleto.

aws swf deprecate-domain \ --name MyNeatNewDomain ""

Come per register-domain, non viene restituito alcun output. Se utilizzi list-domains per visualizzare i domini registrati, tuttavia, vedrai che il dominio è diventato obsoleto e non appare più nei dati restituiti.

aws swf list-domains \ --registration-status REGISTERED { "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }

Se usi --registration-status DEPRECATED withlist-domains, vedrai il tuo dominio obsoleto.

aws swf list-domains \ --registration-status DEPRECATED { "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }

Puoi comunque utilizzarlo describe-domain per ottenere informazioni su un dominio obsoleto.

aws swf describe-domain \ --name MyNeatNewDomain { "domainInfo": { "status": "DEPRECATED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Vedi anche DeprecateDomainnella pagina di APIriferimento del servizio Amazon Simple Workflow

Il seguente esempio di codice mostra come utilizzaredescribe-domain.

AWS CLI

Ottenere informazioni su un dominio

Per ottenere informazioni dettagliate su un particolare dominio, usa il swf describe-domain comando. Esiste un solo parametro obbligatorio: --name, che assume il nome del dominio su cui si desidera ottenere informazioni.

aws swf describe-domain \ --name DataFrobotz { "domainInfo": { "status": "REGISTERED", "name": "DataFrobotz" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "1" } }

Puoi anche usarlo describe-domain per ottenere informazioni sui domini obsoleti.

aws swf describe-domain \ --name MyNeatNewDomain { "domainInfo": { "status": "DEPRECATED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Vedi anche DescribeDomainnella pagina di APIriferimento del servizio Amazon Simple Workflow

Il seguente esempio di codice mostra come utilizzarelist-activity-types.

AWS CLI

Elencare i tipi di attività

Per ottenere un elenco dei tipi di attività per un dominio, usaswf list-activity-types. Gli --registration-status argomenti --domain e sono obbligatori.

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED

Output:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" }, { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" }, { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" } ] }

È possibile utilizzare l'--nameargomento per selezionare solo i tipi di attività con un nome particolare:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --name "send-subscription-success"

Output:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Per recuperare i risultati nelle pagine, puoi impostare l'--maximum-page-sizeargomento. Se vengono restituiti più risultati di quelli contenuti in una pagina di risultati, verrà restituito un nextPageToken "" nel set di risultati:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2

Output:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" } ] }

È possibile passare il nextPageToken valore alla chiamata successiva list-activity-types all'--next-page-tokenargomento, recuperando la pagina successiva di risultati:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2 \ --next-page-token "AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe"

Output:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAw+7LZ4GRZPzTqBHsp2wBxWB8m1sgLCclgCuq3J+h/m3+vOfFqtkcjLwV5cc4OjNAzTCuq/XcylPumGwkjbajtqpZpbqOcVNfjFxGoi0LB2Olbvv0krbUISBvlpFPmSWpDSZJsxg5UxCcweteSlFn1PNSZ/MoinBZo8OTkjMuzcsTuKOzH9wCaR8ITcALJ3SaqHU3pyIRS5hPmFA3OLIc8zaAepjlaujo6hntNSCruB4" "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Se ci sono ancora altri risultati da restituire, verrà restituito nextPageToken "" con i risultati. Quando non ci sono più pagine di risultati da restituire, "nextPageToken" non verrà restituito nel set di risultati.

È possibile utilizzare l'--reverse-orderargomento per invertire l'ordine dei risultati restituiti. Ciò influisce anche sui risultati paginati.

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2 \ --reverse-order

Output:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAwXcpu5ePSyQkrC+8WMbmSrenuZC2ZkIXQYBPB/b9xIOVkj+bMEFhGj0KmmJ4rF7iddhjf7UMYCsfGkEn7mk+yMCgVc1JxDWmB0EH46bhcmcLmYNQihMDmUWocpr7To6/R7CLu0St1gkFayxOidJXErQW0zdNfQaIWAnF/cwioBbXlkz1fQzmDeU3M5oYGMPQIrUqkPq7pMEW0q0lK5eDN97NzFYdZZ/rlcLDWPZhUjY", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Vedi anche ListActivityTypesnella pagina di APIriferimento del servizio Amazon Simple Workflow

Il seguente esempio di codice mostra come utilizzarelist-domains.

AWS CLI

Esempio 1: Per elencare i domini registrati

Il seguente esempio di list-domains comando elenca i REGISTERED SWF domini che hai registrato per il tuo account.

aws swf list-domains \ --registration-status REGISTERED

Output:

{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }

Per ulteriori informazioni, consulta ListDomainsAmazon Simple Workflow Service API Reference

Esempio 2: per elencare i tuoi domini obsoleti

Il seguente esempio di list-domains comando elenca i DEPRECATED SWF domini che hai registrato per il tuo account. I domini obsoleti sono domini che non possono registrare nuovi flussi di lavoro o attività, ma che possono comunque essere interrogati.

aws swf list-domains \ --registration-status DEPRECATED

Output:

{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }

Per ulteriori informazioni, consulta ListDomainsAmazon Simple Workflow Service API Reference

Esempio 3: per elencare la prima pagina dei domini registrati

Il seguente esempio di list-domains comando elenca i REGISTERED SWF domini della prima pagina che hai registrato per il tuo account utilizzando l'--maximum-page-sizeopzione.

aws swf list-domains \ --registration-status REGISTERED \ --maximum-page-size 1

Output:

{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" } ], "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ==" }

Per ulteriori informazioni, consulta ListDomainsAmazon Simple Workflow Service API Reference

Esempio 4: per elencare la pagina singola specificata dei domini registrati

Il seguente esempio di list-domains comando elenca i REGISTERED SWF domini della prima pagina che hai registrato per il tuo account utilizzando l'--maximum-page-sizeopzione.

Quando effettui nuovamente la chiamata, questa volta inserendo il valore di nextPageToken nell'--next-page-tokenargomento, otterrai un'altra pagina di risultati.

aws swf list-domains \ --registration-status REGISTERED \ --maximum-page-size 1 \ --next-page-token "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ=="

Output:

{ "domainInfos": [ { "status": "REGISTERED", "name": "erontest" } ] }

Quando le pagine dei risultati da recuperare saranno terminate, nextPageToken non verrà restituito nei risultati.

Per ulteriori informazioni, consulta ListDomainsAmazon Simple Workflow Service API Reference

Il seguente esempio di codice mostra come utilizzarelist-workflow-types.

AWS CLI

Elenco dei tipi di flusso di lavoro

Per ottenere un elenco dei tipi di flusso di lavoro per un dominio, usaswf list-workflow-types. Gli --registration-status argomenti --domain e sono obbligatori. Ecco un semplice esempio.

aws swf list-workflow-types \ --domain DataFrobtzz \ --registration-status REGISTERED

Output:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.598, "description": "DataFrobtzz subscribe workflow", "workflowType": { "version": "v3", "name": "subscribe" } } ] }

Ad esempiolist-activity-types, è possibile utilizzare l'--nameargomento per selezionare solo i tipi di flusso di lavoro con un nome particolare e utilizzare l'--maximum-page-sizeargomento in coordinamento con --next-page-token i risultati della pagina. Per invertire l'ordine in cui vengono restituiti i risultati, utilizzare--reverse-order.

Vedi anche ListWorkflowTypesnella pagina di APIriferimento del servizio Amazon Simple Workflow

Il seguente esempio di codice mostra come utilizzareregister-domain.

AWS CLI

Registrazione di un dominio

Puoi usare il AWS CLI per registrare nuovi domini. Utilizza il comando swf register-domain. Esistono due parametri obbligatori--name, che richiedono il nome di dominio e --workflow-execution-retention-period-in-days un numero intero per specificare il numero di giorni di conservazione dei dati di esecuzione del flusso di lavoro su questo dominio, fino a un periodo massimo di 90 giorni (per ulteriori informazioni, consulta SWF FAQ < https://aws.amazon.com/swf/ faqs/ #retain_limit >). I dati di esecuzione del flusso di lavoro non verranno conservati dopo il numero di giorni specificato.

aws swf register-domain \ --name MyNeatNewDomain \ --workflow-execution-retention-period-in-days 0 ""

Quando si registra un dominio, non viene restituito alcun valore (""), ma è possibile utilizzare swf list-domains o swf describe-domain per visualizzare il nuovo dominio.

aws swf list-domains \ --registration-status REGISTERED { "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "MyNeatNewDomain" }, { "status": "REGISTERED", "name": "erontest" } ] }

Con swf describe-domain:

aws swf describe-domain --name MyNeatNewDomain { "domainInfo": { "status": "REGISTERED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Vedi anche RegisterDomainnella pagina di APIriferimento del servizio Amazon Simple Workflow

Il seguente esempio di codice mostra come utilizzareregister-workflow-type.

AWS CLI

Registrazione di un tipo di workflow

Per registrare un tipo di workflow con AWS CLI, utilizzare il swf register-workflow-type comando.

aws swf register-workflow-type \ --domain DataFrobtzz \ --name "MySimpleWorkflow" \ --workflow-version "v1"

In caso di successo, il comando non produce alcun output.

In caso di errore (ad esempio, se si tenta di registrare due volte lo stesso tipo di flusso di lavoro o si specifica un dominio che non esiste) si otterrà una risposta in. JSON

{ "message": "WorkflowType=[name=MySimpleWorkflow, version=v1]", "__type": "com.amazonaws.swf.base.model#TypeAlreadyExistsFault" }

I--domain, --name e sono obbligatori. --workflow-version È inoltre possibile impostare la descrizione del flusso di lavoro, i timeout e la politica del flusso di lavoro secondario.

Per ulteriori informazioni, consulta RegisterWorkflowTypeAmazon Simple Workflow Service API Reference