Weitere AWS SDK-Beispiele sind im Repo AWS Doc SDK Examples
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 Szenarios anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zur Einrichtung und Ausführung 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-executionsdamit 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-filterArgumente--domainund entweder--close-time-filteroder sind erforderlich. Alle anderen Argumente sind optional.aws swf count-closed-workflow-executions \ --domainDataFrobtzz\ --close-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"Ausgabe:
{ "count": 2, "truncated": false }Wenn „gekürzt“ ist
true, 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-filterWerte--close-time-filteroder, 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-filterArgumente,--tag-filteroder--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 Service API-Referenz
-
Einzelheiten zur API finden Sie CountClosedWorkflowExecutions
unter AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcount-open-workflow-executions.
- AWS CLI
-
Zählung offener Workflow-Ausführungen
Sie können
swf count-open-workflow-executionsdamit 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-filterArgumente--domainund sind erforderlich. Alle anderen Argumente sind optional.aws swf count-open-workflow-executions \ --domainDataFrobtzz\ --start-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"Ausgabe:
{ "count": 4, "truncated": false }Wenn „gekürzt“ ist
true, 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-filterWerte, um den durchsuchten Zeitraum einzugrenzen. Verwenden Sie die--type-filterArgumente,--tag-filteroder--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-Referenz
-
Einzelheiten zur API finden Sie CountOpenWorkflowExecutions
unter AWS CLI Befehlsreferenz.
-
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 \ --nameMyNeatNewDomain""Wie bei
register-domainwird keine Ausgabe zurückgegeben. Wenn Sie die Optionlist-domainszur 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-statusREGISTERED{"domainInfos":[{"status": "REGISTERED", "name":"DataFrobotz"},{"status": "REGISTERED", "name":"erontest"}]}Wenn Sie
--registration-status DEPRECATEDwith verwendenlist-domains, wird Ihre veraltete Domain angezeigt.aws swf list-domains \ --registration-statusDEPRECATED{"domainInfos":[{"status": "DEPRECATED", "name":"MyNeatNewDomain"}]}Sie können es weiterhin verwenden
describe-domain, um Informationen über eine veraltete Domain abzurufen.aws swf describe-domain \ --nameMyNeatNewDomain{"domainInfo":{"status": "DEPRECATED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Siehe auch DeprecateDomainin der Amazon Simple Workflow Service API-Referenz
-
Einzelheiten zur API finden Sie DeprecateDomain
unter AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-domain.
- AWS CLI
-
Informationen über eine Domain abrufen
Verwenden Sie den
swf describe-domainBefehl, 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 \ --nameDataFrobotz{"domainInfo":{"status": "REGISTERED", "name":"DataFrobotz"},"configuration":{"workflowExecutionRetentionPeriodInDays":"1"}}Sie können ihn auch verwenden
describe-domain, um Informationen über veraltete Domänen abzurufen.aws swf describe-domain \ --nameMyNeatNewDomain{"domainInfo":{"status": "DEPRECATED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Siehe auch DescribeDomainin der Amazon Simple Workflow Service API-Referenz
-
Einzelheiten zur API finden Sie DescribeDomain
in 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 Sie
swf list-activity-types. Die--registration-statusArgumente--domainund sind erforderlich.aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTEREDAusgabe:
{ "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
--nameArgument verwenden, um nur Aktivitätstypen mit einem bestimmten Namen auszuwählen:aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --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-sizeArgument 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 \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2Ausgabe:
{ "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-tokenArguments übergeben, wodurch die nächste Ergebnisseite abgerufen wird:list-activity-typesaws 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"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-orderArgument verwenden, um die Reihenfolge der zurückgegebenen Ergebnisse umzukehren. Dies wirkt sich auch auf Seitenergebnisse aus.aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2\ --reverse-orderAusgabe:
{ "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
-
Einzelheiten zur API finden Sie ListActivityTypes
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-domains.
- AWS CLI
-
Beispiel 1: Um Ihre registrierten Domains aufzulisten
Das folgende
list-domainsBefehlsbeispiel listet dieREGISTEREDSWF-Domänen auf, die Sie für Ihr Konto registriert haben.aws swf list-domains \ --registration-statusREGISTEREDAusgabe:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API-Referenz
Beispiel 2: Um Ihre veralteten Domains aufzulisten
Im folgenden
list-domainsBefehlsbeispiel werden dieDEPRECATEDSWF-Domänen aufgeführt, 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-statusDEPRECATEDAusgabe:
{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API-Referenz
Beispiel 3: Um die erste Seite registrierter Domains aufzulisten
Im folgenden
list-domainsBefehlsbeispiel werden dieREGISTEREDSWF-Domains auf der ersten Seite aufgeführt, die Sie mithilfe der--maximum-page-sizeOption für Ihr Konto registriert haben.aws swf list-domains \ --registration-statusREGISTERED\ --maximum-page-size1Ausgabe:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" } ], "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ==" }Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API-Referenz
Beispiel 4: Um die angegebene Einzelseite registrierter Domains aufzulisten
Im folgenden
list-domainsBefehlsbeispiel werden dieREGISTEREDSWF-Domains auf der ersten Seite aufgeführt, die Sie mithilfe der--maximum-page-sizeOption für Ihr Konto registriert haben.Wenn Sie den Aufruf erneut durchführen und dieses Mal den Wert von
nextPageTokenim--next-page-tokenArgument angeben, erhalten Sie eine weitere Ergebnisseite.aws swf list-domains \ --registration-statusREGISTERED\ --maximum-page-size1\ --next-page-token"AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ=="Ausgabe:
{ "domainInfos": [ { "status": "REGISTERED", "name": "erontest" } ] }Wenn keine zusätzlichen Ergebnisseiten vorhanden sind, wird
nextPageTokennicht in den Ergebnissen zurückgegeben.Weitere Informationen finden Sie ListDomainsin der Amazon Simple Workflow Service API-Referenz
-
Einzelheiten zur API finden Sie ListDomains
unter 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 Sie
swf list-workflow-types. Die--registration-statusArgumente--domainund sind erforderlich. Hier ist ein einfaches Beispiel.aws swf list-workflow-types \ --domainDataFrobtzz\ --registration-statusREGISTEREDAusgabe:
{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.598, "description": "DataFrobtzz subscribe workflow", "workflowType": { "version": "v3", "name": "subscribe" } } ] }Wie bei können Sie das
--nameArgument verwendenlist-activity-types, um nur Workflowtypen mit einem bestimmten Namen auszuwählen und das--maximum-page-sizeArgument in Abstimmung mit den Ergebnissen auf zwei Seiten--next-page-tokenzu verwenden. Um die Reihenfolge umzukehren, in der Ergebnisse zurückgegeben werden, verwenden Sie--reverse-order.Siehe auch ListWorkflowTypesin der Amazon Simple Workflow Service API-Referenz
-
Einzelheiten zur API finden Sie ListWorkflowTypes
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungregister-domain.
- AWS CLI
-
Registrierung einer Domain
Sie können die AWS CLI verwenden, um neue Domains zu registrieren. Verwenden Sie den
swf register-domain-Befehl. Es gibt zwei erforderliche Parameter--name, nämlich den Domänennamen und eine Ganzzahl, um anzugeben--workflow-execution-retention-period-in-days, wie viele Tage Workflow-Ausführungsdaten in dieser Domäne aufbewahrt werden sollen, und zwar 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 >). Daten zur Workflow-Ausführung werden nach Ablauf der angegebenen Anzahl von Tagen nicht beibehalten.aws swf register-domain \ --nameMyNeatNewDomain\ --workflow-execution-retention-period-in-days0""Wenn Sie eine Domäne registrieren, wird nichts zurückgegeben (""). Sie können aber
swf list-domainsoderswf describe-domainverwenden, um die neue Domäne zu sehen.aws swf list-domains \ --registration-statusREGISTERED{"domainInfos":[{"status": "REGISTERED", "name":"DataFrobotz"},{"status": "REGISTERED", "name":"MyNeatNewDomain"},{"status": "REGISTERED", "name":"erontest"}]}Verwenden von
swf describe-domain:aws swf describe-domain --nameMyNeatNewDomain{"domainInfo":{"status": "REGISTERED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Siehe auch RegisterDomainin der Amazon Simple Workflow Service API-Referenz
-
Einzelheiten zur API finden Sie RegisterDomain
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungregister-workflow-type.
- AWS CLI
-
Einen Workflow-Typ registrieren
Verwenden Sie den
swf register-workflow-typeBefehl, um einen Workflow-Typ bei der AWS CLI zu registrieren.aws swf register-workflow-type \ --domainDataFrobtzz\ --name"MySimpleWorkflow"\ --workflow-version"v1"Bei Erfolg erzeugt der Befehl keine Ausgabe.
Bei einem Fehler (wenn Sie beispielsweise versuchen, denselben Workflow zweimal zu registrieren oder eine Domain 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,--nameund sind erforderlich.--workflow-versionSie können auch die Workflow-Beschreibung, Timeouts und die Richtlinie für untergeordnete Workflows festlegen.Weitere Informationen finden Sie RegisterWorkflowTypein der Amazon Simple Workflow Service API-Referenz
-
Einzelheiten zur API finden Sie RegisterWorkflowType
unter AWS CLI Befehlsreferenz.
-