SWFAmazon-Beispiele mit AWS CLI - AWS SDKCode-Beispiele

Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples GitHub verfügbar.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SWFAmazon-Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Command Line Interface mit Amazon Aktionen ausführen und allgemeine Szenarien implementierenSWF.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcount-closed-workflow-executions.

AWS CLI

Zählung abgeschlossener Workflow-Ausführungen

Sie können swf count-closed-workflow-executions damit die Anzahl der geschlossenen Workflow-Ausführungen für eine bestimmte Domäne abrufen. Sie können Filter angeben, um bestimmte Ausführungsklassen zu zählen.

Die --start-time-filter Argumente --domain und entweder --close-time-filter oder sind erforderlich. Alle anderen Argumente sind optional.

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

Ausgabe:

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

Wenn „gekürzt“ isttrue, steht „count“ für die maximale Anzahl, die von Amazon SWF zurückgegeben werden kann. Alle weiteren Ergebnisse werden gekürzt.

Um die Anzahl der zurückgegebenen Ergebnisse zu reduzieren, können Sie:

ändern Sie die --start-time-filter Werte --close-time-filter oder, um den durchsuchten Zeitraum einzugrenzen. Beide schließen sich gegenseitig aus: Sie können in einer Anforderung nur einen dieser Werte angeben. Verwenden Sie die --type-filter Argumente, --tag-filter oder --close-status-filter--execution-filter, um die Ergebnisse weiter zu filtern. Diese Argumente schließen sich jedoch auch gegenseitig aus.

Siehe auch CountClosedWorkflowExecutionsin der Amazon Simple Workflow API Service-Referenz

Das folgende Codebeispiel zeigt die Verwendungcount-open-workflow-executions.

AWS CLI

Zählung offener Workflow-Ausführungen

Sie können swf count-open-workflow-executions damit die Anzahl der offenen Workflow-Ausführungen für eine bestimmte Domäne abrufen. Sie können Filter angeben, um bestimmte Ausführungsklassen zu zählen.

Die --start-time-filter Argumente --domain und sind erforderlich. Alle anderen Argumente sind optional.

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

Ausgabe:

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

Wenn „gekürzt“ isttrue, steht „count“ für die maximale Anzahl, die von Amazon SWF zurückgegeben werden kann. Alle weiteren Ergebnisse werden gekürzt.

Um die Anzahl der zurückgegebenen Ergebnisse zu reduzieren, können Sie:

ändern Sie die --start-time-filter Werte, um den durchsuchten Zeitraum einzugrenzen. Verwenden Sie die --type-filter Argumente, --tag-filter oder --close-status-filter--execution-filter, um die Ergebnisse weiter zu filtern. Beide schließen sich gegenseitig aus: Sie können in einer Anfrage nur eines davon angeben.

Weitere Informationen finden Sie CountOpenWorkflowExecutions in der Amazon Simple Workflow Service API Reference

Das folgende Codebeispiel zeigt die Verwendungdeprecate-domain.

AWS CLI

Eine Domain als veraltet kennzeichnen

Verwenden Sie swf deprecate-domain, um eine Domäne als veraltet zu kennzeichnen. (Sie können die Domäne dann noch sehen, aber keine neuen Workflow-Ausführungen erstellen oder Typen für die Domäne registrieren.) Der einzige erforderliche Parameter, --name, akzeptiert den Namen der Domäne, die als veraltet gekennzeichnet werden soll.

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

Wie bei register-domain wird keine Ausgabe zurückgegeben. Wenn Sie die Option list-domains zur Anzeige der registrierten Domains verwenden, werden Sie jedoch feststellen, dass die Domain veraltet ist und nicht mehr in den zurückgegebenen Daten erscheint.

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

Wenn Sie --registration-status DEPRECATED with verwendenlist-domains, wird Ihre veraltete Domain angezeigt.

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

Sie können es weiterhin verwendendescribe-domain, um Informationen über eine veraltete Domain abzurufen.

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

Siehe auch DeprecateDomainin der Amazon Simple Workflow API Service-Referenz

  • APIEinzelheiten finden Sie DeprecateDomainin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdescribe-domain.

AWS CLI

Informationen über eine Domain abrufen

Verwenden Sie den swf describe-domain Befehl, um detaillierte Informationen zu einer bestimmten Domäne zu erhalten. Es gibt einen erforderlichen Parameter: --name, der den Namen der Domäne akzeptiert, über die Sie Informationen abrufen möchten.

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

Sie können ihn auch verwendendescribe-domain, um Informationen über veraltete Domänen abzurufen.

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

Siehe auch DescribeDomainin der Amazon Simple Workflow API Service-Referenz

  • APIEinzelheiten finden Sie DescribeDomainin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-activity-types.

AWS CLI

Aktivitätstypen auflisten

Um eine Liste der Aktivitätstypen für eine Domain zu erhalten, verwenden Sieswf list-activity-types. Die --registration-status Argumente --domain und sind erforderlich.

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

Ausgabe:

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

Sie können das --name Argument verwenden, um nur Aktivitätstypen mit einem bestimmten Namen auszuwählen:

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

Ausgabe:

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

Um Ergebnisse in Seiten abzurufen, können Sie das --maximum-page-size Argument festlegen. Wenn mehr Ergebnisse zurückgegeben werden, als auf eine Ergebnisseite passen, wird in der Ergebnismenge ein nextPageToken "" zurückgegeben:

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

Ausgabe:

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

Sie können den nextPageToken Wert an den nächsten Aufruf des --next-page-token Arguments übergeben, wodurch die nächste Ergebnisseite abgerufen wird: list-activity-types

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"

Ausgabe:

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

Wenn noch mehr Ergebnisse zurückgegeben werden müssen, wird "nextPageToken" zusammen mit den Ergebnissen zurückgegeben. Wenn es keine Ergebnisseiten mehr gibt, die zurückgegeben werden können, wird nextPageToken "" nicht in der Ergebnismenge zurückgegeben.

Sie können das --reverse-order Argument verwenden, um die Reihenfolge der zurückgegebenen Ergebnisse umzukehren. Dies wirkt sich auch auf Seitenergebnisse aus.

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

Ausgabe:

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

Siehe auch ListActivityTypesin der Amazon Simple Workflow API Service-Referenz

Das folgende Codebeispiel zeigt die Verwendunglist-domains.

AWS CLI

Beispiel 1: Um Ihre registrierten Domains aufzulisten

Das folgende list-domains Befehlsbeispiel listet die REGISTERED SWF Domains auf, die Sie für Ihr Konto registriert haben.

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

Ausgabe:

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

Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API Reference

Beispiel 2: Um Ihre veralteten Domains aufzulisten

Das folgende list-domains Befehlsbeispiel listet die DEPRECATED SWF Domains auf, die Sie für Ihr Konto registriert haben. Veraltete Domänen sind Domänen, die keine neuen Workflows oder Aktivitäten registrieren können, die aber trotzdem abgefragt werden können.

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

Ausgabe:

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

Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API Reference

Beispiel 3: Um die erste Seite registrierter Domains aufzulisten

Das folgende list-domains Befehlsbeispiel listet die REGISTERED SWF Domains auf der ersten Seite auf, die Sie mit der --maximum-page-size Option für Ihr Konto registriert haben.

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

Ausgabe:

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

Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API Reference

Beispiel 4: Um die angegebene Einzelseite registrierter Domains aufzulisten

Das folgende list-domains Befehlsbeispiel listet die REGISTERED SWF Domains auf der ersten Seite auf, die Sie mit der --maximum-page-size Option für Ihr Konto registriert haben.

Wenn Sie den Aufruf erneut durchführen und diesmal den Wert von nextPageToken im --next-page-token Argument angeben, erhalten Sie eine weitere Ergebnisseite.

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

Ausgabe:

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

Wenn keine zusätzlichen Ergebnisseiten vorhanden sind, wird nextPageToken nicht in den Ergebnissen zurückgegeben.

Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API Reference

  • APIEinzelheiten finden Sie ListDomainsunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-workflow-types.

AWS CLI

Workflow-Typen auflisten

Um eine Liste der Workflowtypen für eine Domäne zu erhalten, verwenden Sieswf list-workflow-types. Die --registration-status Argumente --domain und sind erforderlich. Hier ist ein einfaches Beispiel.

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

Ausgabe:

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

Wie bei können Sie das --name Argument verwendenlist-activity-types, um nur Workflowtypen mit einem bestimmten Namen auszuwählen und das --maximum-page-size Argument in Abstimmung mit den Ergebnissen auf zwei Seiten --next-page-token zu verwenden. Um die Reihenfolge umzukehren, in der Ergebnisse zurückgegeben werden, verwenden Sie--reverse-order.

Siehe auch ListWorkflowTypesin der Amazon Simple Workflow API Service-Referenz

Das folgende Codebeispiel zeigt die Verwendungregister-domain.

AWS CLI

Registrierung einer Domain

Sie können das verwenden AWS CLI, um neue Domains zu registrieren. Verwenden Sie den swf register-domain-Befehl. Es gibt zwei erforderliche Parameter--name, nämlich den Domainnamen und eine Ganzzahl--workflow-execution-retention-period-in-days, um die Anzahl der Tage anzugeben, für die Workflow-Ausführungsdaten in dieser Domäne aufbewahrt werden sollen, bis zu einem Höchstzeitraum von 90 Tagen (weitere Informationen finden Sie unter SWF FAQ < https://aws.amazon.com/swf/ faqs/ #retain_limit >). Daten zur Workflow-Ausführung werden nach Ablauf der angegebenen Anzahl von Tagen nicht aufbewahrt.

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

Wenn Sie eine Domäne registrieren, wird nichts zurückgegeben (""). Sie können aber swf list-domains oder swf describe-domain verwenden, um die neue Domäne zu sehen.

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

Verwenden von swf describe-domain:

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

Siehe auch RegisterDomainin der Amazon Simple Workflow API Service-Referenz

  • APIEinzelheiten finden Sie RegisterDomainin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungregister-workflow-type.

AWS CLI

Einen Workflow-Typ registrieren

Verwenden Sie den swf register-workflow-type Befehl AWS CLI, um einen Workflow-Typ bei der zu registrieren.

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

Wenn der Befehl erfolgreich ist, erzeugt er keine Ausgabe.

Bei einem Fehler (wenn Sie beispielsweise versuchen, denselben Workflow zweimal zu registrieren oder eine Domäne anzugeben, die nicht existiert), erhalten Sie eine Antwort in. JSON

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

Die--domain, --name und sind erforderlich. --workflow-version Sie können auch die Workflow-Beschreibung, die Timeouts und die Richtlinie für untergeordnete Workflows festlegen.

Weitere Informationen finden Sie RegisterWorkflowTypein der Amazon Simple Workflow Service API Reference