Sono disponibili altri esempi AWS SDK nel repository AWS Doc SDK
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à.
Esempi di Amazon SWF con AWS CLI
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando Amazon SWF. AWS Command Line Interface
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un collegamento al codice sorgente completo, dove puoi 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 utilizzarlo
swf count-closed-workflow-executionsper recuperare il numero di esecuzioni di workflow chiuse per un determinato dominio. È possibile specificare filtri per contare classi specifiche di esecuzioni.Gli
--start-time-filterargomenti--domaine either--close-time-filteror sono obbligatori. Tutti gli altri argomenti sono facoltativi.aws swf count-closed-workflow-executions \ --domainDataFrobtzz\ --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-filtervalori--close-time-filtero 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-filtero--type-filterper filtrare ulteriormente i risultati. Tuttavia, anche questi argomenti si escludono a vicenda.Vedi anche CountClosedWorkflowExecutionsnel riferimento alle API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta CountClosedWorkflowExecutions AWS CLI
Command Reference.
-
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-executionsper recuperare il numero di esecuzioni di workflow aperte per un determinato dominio. È possibile specificare filtri per contare classi specifiche di esecuzioni.Gli
--start-time-filterargomenti--domainand sono obbligatori. Tutti gli altri argomenti sono facoltativi.aws swf count-open-workflow-executions \ --domainDataFrobtzz\ --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-filtervalori per restringere l'intervallo di tempo in cui viene effettuata la ricerca. Utilizzare gli--type-filterargomenti--close-status-filter,--execution-filter,--tag-filtero per filtrare ulteriormente i risultati. Ciascuno di questi si esclude a vicenda: puoi specificarne solo uno in una richiesta.Per ulteriori informazioni, consulta il riferimento CountOpenWorkflowExecutions all'API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta CountOpenWorkflowExecutions AWS CLI
Command 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 \ --nameMyNeatNewDomain""Come per
register-domain, non viene restituito alcun output. Se utilizzilist-domainsper visualizzare i domini registrati, tuttavia, vedrai che il dominio è diventato obsoleto e non appare più nei dati restituiti.aws swf list-domains \ --registration-statusREGISTERED{"domainInfos":[{"status": "REGISTERED", "name":"DataFrobotz"},{"status": "REGISTERED", "name":"erontest"}]}Se usi
--registration-status DEPRECATEDwithlist-domains, vedrai il tuo dominio obsoleto.aws swf list-domains \ --registration-statusDEPRECATED{"domainInfos":[{"status": "DEPRECATED", "name":"MyNeatNewDomain"}]}Puoi comunque utilizzarlo
describe-domainper ottenere informazioni su un dominio obsoleto.aws swf describe-domain \ --nameMyNeatNewDomain{"domainInfo":{"status": "DEPRECATED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Vedi anche DeprecateDomainnel riferimento alle API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta DeprecateDomain AWS CLI
Command Reference.
-
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-domaincomando. Esiste un solo parametro obbligatorio:--name, che assume il nome del dominio su cui si desidera ottenere informazioni.aws swf describe-domain \ --nameDataFrobotz{"domainInfo":{"status": "REGISTERED", "name":"DataFrobotz"},"configuration":{"workflowExecutionRetentionPeriodInDays":"1"}}Puoi anche usarlo
describe-domainper ottenere informazioni sui domini obsoleti.aws swf describe-domain \ --nameMyNeatNewDomain{"domainInfo":{"status": "DEPRECATED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Vedi anche DescribeDomainnel riferimento alle API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta DescribeDomain AWS CLI
Command Reference.
-
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, usa
swf list-activity-types. Gli--registration-statusargomenti--domaine sono obbligatori.aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTEREDOutput:
{ "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 \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --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 \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2Output:
{ "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-typesall'--next-page-tokenargomento, recuperando la pagina successiva di risultati:aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2\ --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 \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2\ --reverse-orderOutput:
{ "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 ListActivityTypesnel riferimento alle API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta ListActivityTypes AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-domains.
- AWS CLI
-
Esempio 1: Per elencare i domini registrati
Il seguente esempio di
list-domainscomando elenca i dominiREGISTEREDSWF che avete registrato per il vostro account.aws swf list-domains \ --registration-statusREGISTEREDOutput:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }Per ulteriori informazioni, consulta il riferimento ListDomainsall'API di Amazon Simple Workflow Service
Esempio 2: per elencare i tuoi domini obsoleti
Il seguente esempio di
list-domainscomando elenca i dominiDEPRECATEDSWF che avete registrato per il vostro 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-statusDEPRECATEDOutput:
{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }Per ulteriori informazioni, consulta il riferimento ListDomainsall'API di Amazon Simple Workflow Service
Esempio 3: per elencare la prima pagina dei domini registrati
Il seguente esempio di
list-domainscomando elenca i dominiREGISTEREDSWF della prima pagina che avete registrato per il vostro account utilizzando l'opzione.--maximum-page-sizeaws swf list-domains \ --registration-statusREGISTERED\ --maximum-page-size1Output:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" } ], "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ==" }Per ulteriori informazioni, consulta il riferimento ListDomainsall'API di Amazon Simple Workflow Service
Esempio 4: per elencare la pagina singola specificata dei domini registrati
Il seguente esempio di
list-domainscomando elenca i dominiREGISTEREDSWF della prima pagina che avete registrato per il vostro account utilizzando l'opzione.--maximum-page-sizeQuando effettuate nuovamente la chiamata, questa volta inserendo il valore di
nextPageTokennell'--next-page-tokenargomento, otterrete un'altra pagina di risultati.aws swf list-domains \ --registration-statusREGISTERED\ --maximum-page-size1\ --next-page-token"AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ=="Output:
{ "domainInfos": [ { "status": "REGISTERED", "name": "erontest" } ] }Quando le pagine dei risultati da recuperare saranno terminate,
nextPageTokennon verrà restituito nei risultati.Per ulteriori informazioni, consulta il riferimento ListDomainsall'API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta ListDomains AWS CLI
Command 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, usa
swf list-workflow-types. Gli--registration-statusargomenti--domaine sono obbligatori. Ecco un semplice esempio.aws swf list-workflow-types \ --domainDataFrobtzz\ --registration-statusREGISTEREDOutput:
{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.598, "description": "DataFrobtzz subscribe workflow", "workflowType": { "version": "v3", "name": "subscribe" } } ] }Ad esempio
list-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-tokeni risultati della pagina. Per invertire l'ordine in cui vengono restituiti i risultati, utilizzare--reverse-order.Vedi anche ListWorkflowTypesnel riferimento alle API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta ListWorkflowTypes AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareregister-domain.
- AWS CLI
-
Registrazione di un dominio
Puoi usare la AWS CLI per registrare nuovi domini. Utilizza il comando
swf register-domain. Sono necessari due parametri--name, che richiedono il nome di dominio e--workflow-execution-retention-period-in-daysun numero intero per specificare il numero di giorni necessari per conservare i dati di esecuzione del flusso di lavoro su questo dominio, fino a un periodo massimo di 90 giorni (per ulteriori informazioni, consultate le domande frequenti su SWF < faqs/ #retain_limit >). https://aws.amazon.com/swf/ I dati di esecuzione del workflow non verranno conservati dopo il numero di giorni specificato.aws swf register-domain \ --nameMyNeatNewDomain\ --workflow-execution-retention-period-in-days0""Quando si registra un dominio, non viene restituito alcun valore (""), ma è possibile utilizzare
swf list-domainsoswf describe-domainper visualizzare il nuovo dominio.aws swf list-domains \ --registration-statusREGISTERED{"domainInfos":[{"status": "REGISTERED", "name":"DataFrobotz"},{"status": "REGISTERED", "name":"MyNeatNewDomain"},{"status": "REGISTERED", "name":"erontest"}]}Con
swf describe-domain:aws swf describe-domain --nameMyNeatNewDomain{"domainInfo":{"status": "REGISTERED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Vedi anche RegisterDomainnel riferimento alle API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta RegisterDomain AWS CLI
Command Reference.
-
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 la AWS CLI, utilizzate il
swf register-workflow-typecomando.aws swf register-workflow-type \ --domainDataFrobtzz\ --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, e sono
--domainobbligatori--name.--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 il riferimento RegisterWorkflowTypeall'API di Amazon Simple Workflow Service
-
Per i dettagli sull'API, consulta RegisterWorkflowType AWS CLI
Command Reference.
-