SWFExemples d'Amazon utilisant AWS CLI - AWS Command Line Interface

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

SWFExemples d'Amazon utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'AmazonSWF.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utilisercount-closed-workflow-executions.

AWS CLI

Comptage des exécutions de flux de travail fermés

Vous pouvez l'utiliser swf count-closed-workflow-executions pour récupérer le nombre d'exécutions de flux de travail fermées pour un domaine donné. Vous pouvez définir des filtres pour compter des classes d'exécutions spécifiques.

Les --start-time-filter arguments --domain et l'--close-time-filterun ou l'autre sont obligatoires. Tous les autres arguments sont facultatifs.

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

Sortie :

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

Si « tronqué » est « tronqué »true, alors « count » représente le nombre maximum pouvant être renvoyé par AmazonSWF. Tous les autres résultats sont tronqués.

Pour réduire le nombre de résultats renvoyés, vous pouvez :

modifiez les --start-time-filter valeurs --close-time-filter ou pour réduire la plage de temps recherchée. Chacune de ces options s'exclut mutuellement : vous ne pouvez en spécifier qu'une dans une demande. Utilisez les --type-filter arguments --close-status-filter--execution-filter, --tag-filter ou pour filtrer davantage les résultats. Cependant, ces arguments s'excluent également mutuellement.

Voir également CountClosedWorkflowExecutionsdans le manuel Amazon Simple Workflow Service API Reference

L'exemple de code suivant montre comment utilisercount-open-workflow-executions.

AWS CLI

Comptage des exécutions de flux de travail ouverts

Vous pouvez l'utiliser swf count-open-workflow-executions pour récupérer le nombre d'exécutions de flux de travail ouvertes pour un domaine donné. Vous pouvez définir des filtres pour compter des classes d'exécutions spécifiques.

Les --start-time-filter arguments --domain et sont obligatoires. Tous les autres arguments sont facultatifs.

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

Sortie :

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

Si « tronqué » est « tronqué »true, alors « count » représente le nombre maximum pouvant être renvoyé par AmazonSWF. Tous les autres résultats sont tronqués.

Pour réduire le nombre de résultats renvoyés, vous pouvez :

modifiez les --start-time-filter valeurs pour réduire la plage de temps recherchée. Utilisez les --type-filter arguments --close-status-filter--execution-filter, --tag-filter ou pour filtrer davantage les résultats. Chacune de ces options s'exclut mutuellement : vous ne pouvez en spécifier qu'une dans une demande.

Pour plus d'informations, consultez CountOpenWorkflowExecutions le manuel Amazon Simple Workflow Service API Reference

L'exemple de code suivant montre comment utiliserdeprecate-domain.

AWS CLI

Dépréciation d'un domaine

Pour rendre un domaine obsolète (vous pouvez toujours le voir mais vous ne pouvez pas créer de nouvelles exécutions de flux de travail ou y inscrire des types), utilisez swf deprecate-domain. Un seul paramètre est obligatoire, --name, qui prend le nom du domaine à rendre obsolète.

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

Tout comme avec register-domain, aucune sortie n'est renvoyée. Cependant, si list-domains vous avez l'habitude de consulter les domaines enregistrés, vous verrez que le domaine est obsolète et n'apparaît plus dans les données renvoyées.

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

Si vous utilisez --registration-status DEPRECATED aveclist-domains, vous verrez votre domaine obsolète.

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

Vous pouvez toujours l'utiliser describe-domain pour obtenir des informations sur un domaine obsolète.

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

Voir également DeprecateDomaindans le manuel Amazon Simple Workflow Service API Reference

  • Pour API plus de détails, voir DeprecateDomainla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-domain.

AWS CLI

Obtenir des informations sur un domaine

Pour obtenir des informations détaillées sur un domaine en particulier, utilisez la swf describe-domain commande. Il y a un paramètre obligatoire : --name, qui prend le nom du domaine sur lequel vous souhaitez obtenir des informations.

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

Vous pouvez également l'utiliser describe-domain pour obtenir des informations sur les domaines obsolètes.

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

Voir également DescribeDomaindans le manuel Amazon Simple Workflow Service API Reference

  • Pour API plus de détails, voir DescribeDomainla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-activity-types.

AWS CLI

Types d'activités de référencement

Pour obtenir la liste des types d'activités d'un domaine, utilisezswf list-activity-types. Les --registration-status arguments --domain et sont obligatoires.

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

Sortie :

{ "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" } ] }

Vous pouvez utiliser --name cet argument pour sélectionner uniquement les types d'activité portant un nom particulier :

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

Sortie :

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

Pour récupérer les résultats sous forme de pages, vous pouvez définir l'--maximum-page-sizeargument. Si le nombre de résultats renvoyés est supérieur à ce que peut contenir une page de résultats, un nextPageToken « » sera renvoyé dans le jeu de résultats :

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

Sortie :

{ "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" } ] }

Vous pouvez transmettre la nextPageToken valeur au prochain appel to list-activity-types dans l'--next-page-tokenargument, en récupérant la page de résultats suivante :

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"

Sortie :

{ "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" } ] }

S'il reste encore d'autres résultats à renvoyer, nextPageToken « » sera renvoyé avec les résultats. Lorsqu'il n'y a plus de pages de résultats à renvoyer, « nextPageToken » ne sera pas renvoyé dans le jeu de résultats.

Vous pouvez utiliser l'--reverse-orderargument pour inverser l'ordre des résultats renvoyés. Cela affecte également les résultats de la page.

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

Sortie :

{ "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" } ] }

Voir également ListActivityTypesdans le manuel Amazon Simple Workflow Service API Reference

  • Pour API plus de détails, voir ListActivityTypesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-domains.

AWS CLI

Exemple 1 : Pour répertorier vos domaines enregistrés

L'exemple de list-domains commande suivant répertorie les REGISTERED SWF domaines que vous avez enregistrés pour votre compte.

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

Sortie :

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

Pour plus d'informations, consultez ListDomainsle manuel Amazon Simple Workflow Service API Reference

Exemple 2 : pour répertorier vos domaines obsolètes

L'exemple de list-domains commande suivant répertorie les DEPRECATED SWF domaines que vous avez enregistrés pour votre compte. Les domaines obsolètes sont des domaines qui ne peuvent pas enregistrer de nouveaux flux de travail ou de nouvelles activités, mais qui peuvent tout de même être interrogés.

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

Sortie :

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

Pour plus d'informations, consultez ListDomainsle manuel Amazon Simple Workflow Service API Reference

Exemple 3 : pour répertorier la première page des domaines enregistrés

L'exemple de list-domains commande suivant répertorie les REGISTERED SWF domaines de première page que vous avez enregistrés pour votre compte à l'aide de l'--maximum-page-sizeoption.

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

Sortie :

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

Pour plus d'informations, consultez ListDomainsle manuel Amazon Simple Workflow Service API Reference

Exemple 4 : Pour répertorier la page unique spécifiée des domaines enregistrés

L'exemple de list-domains commande suivant répertorie les REGISTERED SWF domaines de première page que vous avez enregistrés pour votre compte à l'aide de l'--maximum-page-sizeoption.

Lorsque vous effectuez à nouveau l'appel, en fournissant cette fois la valeur de nextPageToken dans l'--next-page-tokenargument, vous obtiendrez une autre page de résultats.

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

Sortie :

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

Lorsqu'il n'y a pas d'autres pages de résultats à extraire, nextPageToken n'est pas renvoyé dans les résultats.

Pour plus d'informations, consultez ListDomainsle manuel Amazon Simple Workflow Service API Reference

  • Pour API plus de détails, voir ListDomainsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-workflow-types.

AWS CLI

Liste des types de flux de travail

Pour obtenir la liste des types de flux de travail pour un domaine, utilisezswf list-workflow-types. Les --registration-status arguments --domain et sont obligatoires. Voici un exemple simple.

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

Sortie :

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

De mêmelist-activity-types, vous pouvez utiliser l'--nameargument pour sélectionner uniquement les types de flux de travail portant un nom particulier, et l'--maximum-page-sizeutiliser en coordination avec les résultats --next-page-token de deux pages. Pour inverser l'ordre dans lequel les résultats sont renvoyés, utilisez--reverse-order.

Voir également ListWorkflowTypesdans le manuel Amazon Simple Workflow Service API Reference

  • Pour API plus de détails, voir ListWorkflowTypesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserregister-domain.

AWS CLI

Enregistrement d'un domaine

Vous pouvez utiliser le AWS CLI pour enregistrer de nouveaux domaines. Utilisez la commande swf register-domain. Deux paramètres sont obligatoires : l'un prend le nom du domaine et --workflow-execution-retention-period-in-days l'autre prend un entier pour spécifier le nombre de jours pendant lesquels les données d'exécution du flux de travail sont conservées sur ce domaine, jusqu'à une période maximale de 90 jours (pour plus d'informations, consultez le SWF FAQ < https://aws.amazon.com/swf/ faqs/ #retain_limit >). --name Les données d'exécution du flux de travail ne seront pas conservées une fois le nombre de jours spécifié écoulé.

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

Lorsque vous inscrivez un domaine, aucune donnée n'est renvoyée (« »), mais vous pouvez utiliser swf list-domains ou swf describe-domain pour voir le nouveau domaine.

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

En utilisant swf describe-domain :

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

Voir également RegisterDomaindans le manuel Amazon Simple Workflow Service API Reference

  • Pour API plus de détails, voir RegisterDomainla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserregister-workflow-type.

AWS CLI

Enregistrement d'un type de flux de travail

Pour enregistrer un type de flux de travail avec le AWS CLI, utilisez la swf register-workflow-type commande.

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

En cas de succès, la commande ne produit aucune sortie.

En cas d'erreur (par exemple, si vous essayez d'enregistrer deux fois le même type de flux de travail ou si vous spécifiez un domaine qui n'existe pas), vous recevrez une réponse. JSON

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

Les--domain, --name et --workflow-version sont obligatoires. Vous pouvez également définir la description du flux de travail, les délais d'expiration et la politique du flux de travail pour enfants.

Pour plus d'informations, consultez RegisterWorkflowTypele manuel Amazon Simple Workflow Service API Reference