Amazon SWF SWF-Beispiele mit AWS CLI - AWS Command Line Interface

Diese Dokumentation bezieht sich AWS CLI nur auf Version 1 von. Dokumentation zu Version 2 von finden Sie im Benutzerhandbuch für Version 2. AWS CLI

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.

Amazon SWF SWF-Beispiele mit AWS CLI

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

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

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

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie Siecount-closed-workflow-executions.

AWS CLI

So zählen Sie geschlossene Workflow Executions

Sie können swf count-closed-workflow-executions verwenden, um die Anzahl geschlossener Workflow Executions für eine bestimmte Domain abzurufen. Sie können Filter angeben, um nur bestimmte Ausführungsklassen zu zählen.

Die Argumente --domain und entweder --close-time-filter oder --start-time-filter 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 „truncated“ true ist, steht „count“ für die maximale Anzahl, die von Amazon SWF zurückgegeben werden kann. Alle weiteren Ergebnisse werden nicht angezeigt.

So gehen Sie vor, um die Anzahl zurückgegebener Ergebnisse zu reduzieren:

die Werte --close-time-filter oder --start-time-filter ändern, 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 Argumente --close-status-filter, --execution-filter, --tag-filter oder --type-filter, um die Ergebnisse weitergehend zu filtern. Diese Argumente schließen sich jedoch auch gegenseitig aus.

Siehe auch CountClosedWorkflowExecutionsin der Amazon Simple Workflow Service API-Referenz

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

AWS CLI

So zählen Sie offene Workflow Executions

Sie können swf count-open-workflow-executions verwenden, um die Anzahl offener Workflow Executions für eine bestimmte Domain abzurufen. Sie können Filter angeben, um nur bestimmte Ausführungsklassen zu zählen.

Es sind nur die Argumente --domain und --start-time-filter 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 „truncated“ true ist, steht „count“ für die maximale Anzahl, die von Amazon SWF zurückgegeben werden kann. Alle weiteren Ergebnisse werden nicht angezeigt.

So gehen Sie vor, um die Anzahl zurückgegebener Ergebnisse zu reduzieren:

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

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

Das folgende Codebeispiel zeigt die Verwendungdeprecate-domain.

AWS CLI

Kennzeichnen einer Domain als veraltet

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

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

Wie bei register-domain wird keine Ausgabe zurückgegeben. Wenn Sie die registrierten Domains mit list-domains abrufen, sehen Sie jedoch, dass die Domain 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 mit list-domains verwenden, wird Ihre veraltete Domain angezeigt.

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

Mit describe-domain erhalten Sie weiterhin Informationen über eine veraltete Domain.

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

Siehe auch DeprecateDomainin der Amazon Simple Workflow Service API-Referenz

  • Einzelheiten zur API finden Sie DeprecateDomainin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdescribe-domain.

AWS CLI

Abrufen von Informationen zu einer Domain

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

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

Mit describe-domain erhalten Sie auch Informationen über veraltete Domains.

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

Siehe auch DescribeDomainin der Amazon Simple Workflow Service API-Referenz

  • Einzelheiten zur API finden Sie DescribeDomainin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-activity-types.

AWS CLI

So listen Sie Aktivitätstypen auf

Verwenden Sie swf list-activity-types, um eine Liste der Aktivitätstypen für eine Domain abzurufen. Es sind nur die Argumente --domain und --registration-status 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" } ] }

Sie das --maximum-page-size-Argument festlegen, um Ergebnisse seitenweise abzurufen. 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 Service API-Referenz

Das folgende Codebeispiel zeigt die Verwendunglist-domains.

AWS CLI

Beispiel 1: So listen Sie Ihre registrierten Domains auf

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-Referenz

Beispiel 2: So listen Sie Ihre veralteten Domains auf

Das folgende list-domains-Befehlsbeispiel listet die DEPRECATED-SWF-Domains auf, die Sie für Ihr Konto registriert haben. Veraltete Domains sind Domains, die keine neuen Workflows oder Aktivitäten registrieren können, 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-Referenz

Beispiel 3: So listen Sie die erste Seite registrierter Domains auf

Das folgende list-domains-Befehlsbeispiel listet die erste Seite der REGISTERED-SWF-Domains auf, die Sie mit der Option --maximum-page-size 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-Referenz

Beispiel 4: So listen Sie die angegebene einzelne Seite registrierter Domains auf

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

Wenn Sie den Aufruf erneut senden und dabei den Wert von nextPageToken im Argument --next-page-token bereitstellen, erhalten Sie eine weitere Seite von Ergebnissen.

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-Referenz

  • Einzelheiten zur API finden Sie ListDomainsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-workflow-types.

AWS CLI

So listen Sie Workflow-Typen auf

Verwenden Sie swf list-workflow-types, um eine Liste der Workflow-Typen für eine Domain abzurufen. Es sind nur die Argumente --domain und --registration-status erforderlich. Hier 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 list-activity-types, können Sie das --name-Argument verwenden, um nur Workflow-Typen mit einem bestimmten Namen auszuwählen und das --maximum-page-size-Argument in Abstimmung mit --next-page-token zu Seitenergebnissen verwenden. Verwenden Sie --reverse-order, um die Reihenfolge umzukehren, in der Ergebnisse zurückgegeben werden.

Siehe auch ListWorkflowTypesin der Amazon Simple Workflow Service API-Referenz

Das folgende Codebeispiel zeigt die Verwendungregister-domain.

AWS CLI

Registrieren einer Domain

Sie können die AWS CLI verwenden, um neue Domains zu registrieren. Verwenden Sie den Befehl swf register-domain. Es gibt zwei erforderliche Parameter--name, nämlich den Domänennamen und eine Ganzzahl, um die Anzahl der Tage anzugeben--workflow-execution-retention-period-in-days, 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 in den häufig gestellten Fragen zu SWF < https://aws.amazon.com/swf/ faqs/ #retain_limit >). Workflow Execution-Daten werden nach Ablauf der angegebenen Anzahl von Tagen nicht mehr aufbewahrt.

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

Wenn Sie eine Domain registrieren, wird nichts zurückgegeben (""). Sie können aber swf list-domains oder swf describe-domain verwenden, um die neue Domain 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 Service API-Referenz

  • Einzelheiten zur API 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, um einen Workflow-Typ bei der AWS CLI zu registrieren.

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

Falls erfolgreich, erzeugt dieser Befehl keine Ausgabe.

Bei einem Fehler (wenn Sie beispielsweise versuchen, denselben Workflow-Typ zweimal zu registrieren oder eine Domain angeben, die nicht existiert), erhalten Sie eine Antwort in JSON.

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

Die Schlüssel --domain, --name und --workflow-version sind erforderlich. Sie können auch die Workflow-Beschreibung, die Timeouts und die untergeordneten Workflow-Richtlinie festlegen.

Weitere Informationen finden Sie RegisterWorkflowTypein der Amazon Simple Workflow Service API-Referenz