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.
EventBridge für Änderungen des SWF Amazon-Ausführungsstatus
Sie verwenden Amazon EventBridge , um auf Statusänderungen oder Ereignisse in einer AWS Ressource zu reagieren. Wenn Amazon SWF ein Ereignis ausgibt, wird es immer an den EventBridge Standard-Event-Bus für Ihr Konto weitergeleitet. Sie können eine Regel für Ereignisse erstellen, sie dem Standard-Event-Bus zuordnen und eine Zielaktion angeben, die ausgeführt werden soll, wenn EventBridge ein Ereignis eingeht, das der Regel entspricht. Auf diese Weise können Sie Ihre Workflows überwachen, ohne ständig Abfragen mit dem durchführen zu müssen GetWorkflowExecutionHistory
API. Basierend auf Änderungen an den Workflow-Ausführungen können Sie ein EventBridge Ziel verwenden, um AWS Lambda Funktionen aufzurufen, Nachrichten in Amazon Simple Notification Service (AmazonSNS) -Themen zu veröffentlichen und vieles mehr.
Den vollständigen Inhalt eines Ereignisses zur Änderung des Ausführungsstatus finden Sie unter DescribeWorkflowExecution
.
Weitere Informationen finden Sie im EventBridge Amazon-Benutzerhandbuch.
EventBridge Ereignisse
Die Verlaufsereignistypen enthalten die Änderungen des Ausführungsstatus. Der detail
Abschnitt jedes Ereignisses enthält mindestens die folgenden Parameter:
-
eventId
: die Ereignis-ID, die von angezeigt wird GetWorkflowExecutionHistory. -
workflowExecutionDetail
: der Status des Workflows, als das Ereignis ausgelöst wurde. -
eventType
: der Ereignistyp des Verlaufs, einer der folgenden:-
ActivityTaskCanceled
-
ActivityTaskFailed
-
ActivityTaskTimedOut
-
WorkflowExecutionCanceled
-
WorkflowExecutionCompleted
-
WorkflowExecutionFailed
-
WorkflowExecutionStarted
-
WorkflowExecutionTerminated
-
WorkflowExecutionTimedOut
-
WorkflowExecutionContinuedAsNew
-
CancelTimerFailed
-
CancelWorkflowExecutionFailed
-
ChildWorkflowExecutionFailed
-
ChildWorkflowExecutionTimedOut
-
CompleteWorkflowExecutionFailed
-
ContinueAsNewWorkflowExecutionFailed
-
DecisionTaskTimedOut
-
FailWorkflowExecutionFailed
-
RecordMarkerFailed
-
RequestCancelActivityTaskFailed
-
RequestCancelExternalWorkflowExecutionFailed
-
ScheduleActivityTaskFailed
-
SignalExternalWorkflowExecutionFailed
-
StartActivityTaskFailed
-
StartChildWorkflowExecutionFailed
-
StartTimerFailed
-
TimerCanceled
-
LambdaFunctionFailed
-
LambdaFunctionTimedOut
-
StartLambdaFunctionFailed
-
ScheduleLambdaFunctionFailed
-
Beispiele für SWF Amazon-Veranstaltungen
Im Folgenden finden Sie Beispiele dafür, wie Amazon Ereignisse SWF sendet an EventBridge:
Themen
In jedem Fall enthält der detail
Abschnitt in den Ereignisdaten dieselben Informationen wie der DescribeWorkflowExecution
API. Das executionStatus
Feld gibt den Status der Ausführung zum Zeitpunkt des Sendens des Ereignisses an, entweder OPEN
oderCLOSED
.
Die Ausführung wurde gestartet
{ "version": "0", "id": "444444444444", "detail-type": "Simple Workflow Execution State Change", "source": "aws.swf", "account": "444444444444", "time": "2020-05-08T15:57:38Z", "region": "us-east-1", "resources": [ "arn:aws:swf:us-east-1:444444444444:/domain/SimpleWorkflowUserSimulator" ], "detail": { "eventId": 1, "eventType": "WorkflowExecutionStarted", "workflowExecutionDetail": { "executionInfo": { "execution": { "workflowId": "123456789012", "runId": "AKIAIOSFODNN7EXAMPLE" }, "workflowType": { "name": "SimpleWorkflowUserSimulator", "version": "myWorkflow" }, "startTimestamp": 1588953458484, "closeTimestamp": null, "executionStatus": "OPEN", "closeStatus": null, "parent": null, "parentExecutionArn": null, "tagList": null, "cancelRequested": false }, "executionConfiguration": { "taskStartToCloseTimeout": "60", "executionStartToCloseTimeout": "1000", "taskList": { "name": "444444444444" }, "taskPriority": null, "childPolicy": "ABANDON", "lambdaRole": "arn:aws:iam::444444444444:role/BasicSWFLambdaExecution" }, "openCounts": { "openActivityTasks": 0, "openDecisionTasks": 1, "openTimers": 0, "openChildWorkflowExecutions": 0, "openLambdaFunctions": 0 }, "latestActivityTaskTimestamp": null, } } }
Die Ausführung ist abgeschlossen
{ "version": "0", "id": "1111-2222-3333", "detail-type": "Simple Workflow Execution State Change", "source": "aws.swf", "account": "444455556666", "time": "2020-05-08T15:57:39Z", "region": "us-east-1", "resources": [ "arn:aws:swf:us-east-1:444455556666:/domain/SimpleWorkflowUserSimulator" ], "detail": { "eventId": 35, "eventType": "WorkflowExecutionCompleted", "workflowExecutionDetail": { "executionInfo": { "execution": { "workflowId": "1234-5678-9012", "runId": "777788889999" }, "workflowType": { "name": "SimpleWorkflowUserSimulator", "version": "myWorkflow" }, "startTimestamp": 1588953458820, "closeTimestamp": 1588953459448, "executionStatus": "CLOSED", "closeStatus": "COMPLETED", "parent": null, "parentExecutionArn": null, "tagList": null, "cancelRequested": false }, "executionConfiguration": { "taskStartToCloseTimeout": "60", "executionStartToCloseTimeout": "1000", "taskList": { "name": "1111-1111-1111" }, "taskPriority": null, "childPolicy": "ABANDON", "lambdaRole": "arn:aws:iam::444455556666:role/BasicSWFLambdaExecution" }, "openCounts": { "openActivityTasks": 0, "openDecisionTasks": 0, "openTimers": 0, "openChildWorkflowExecutions": 0, "openLambdaFunctions": 0 }, "latestActivityTaskTimestamp": 1588953459402, } } }
Die Ausführung ist fehlgeschlagen
{ "version": "0", "id": "1111-2222-3333", "detail-type": "Simple Workflow Execution State Change", "source": "aws.swf", "account": "444455556666", "time": "2020-05-08T15:57:38Z", "region": "us-east-1", "resources": [ "arn:aws:swf:us-east-1:444455556666:/domain/SimpleWorkflowUserSimulator" ], "detail": { "eventId": 11, "eventType": "WorkflowExecutionFailed", "workflowExecutionDetail": { "executionInfo": { "execution": { "workflowId": "1234-5678-9012", "runId": "777788889999" }, "workflowType": { "name": "SimpleWorkflowUserSimulator", "version": "myWorkflow" }, "startTimestamp": 1588953158481, "closeTimestamp": 1588953458560, "executionStatus": "CLOSED", "closeStatus": "FAILED", "parent": null, "parentExecutionArn": null, "tagList": null, "cancelRequested": false }, "executionConfiguration": { "taskStartToCloseTimeout": "60", "executionStartToCloseTimeout": "1000", "taskList": { "name": "1111-1111-1111" }, "taskPriority": null, "childPolicy": "ABANDON", "lambdaRole": "arn:aws:iam::444455556666:role/BasicSWFLambdaExecution" }, "openCounts": { "openActivityTasks": 0, "openDecisionTasks": 0, "openTimers": 0, "openChildWorkflowExecutions": 0, "openLambdaFunctions": 0 }, "latestActivityTaskTimestamp": null, } } }
Bei der Ausführung wurde das Timeout überschritten
{ "version": "0", "id": "1111-2222-3333", "detail-type": "Simple Workflow Execution State Change", "source": "aws.swf", "account": "444455556666", "time": "2020-05-05T17:26:30Z", "region": "us-east-1", "resources": [ "arn:aws:swf:us-east-1:444455556666:/domain/SimpleWorkflowUserSimulator" ], "detail": { "eventId": 6, "eventType": "WorkflowExecutionTimedOut", "workflowExecutionDetail": { "executionInfo": { "execution": { "workflowId": "1234-5678-9012", "runId": "777788889999" }, "workflowType": { "name": "SimpleWorkflowUserSimulator", "version": "myWorkflow" }, "startTimestamp": 1588698073748, "closeTimestamp": 1588699590745, "executionStatus": "CLOSED", "closeStatus": "TIMED_OUT", "parent": null, "parentExecutionArn": null, "tagList": null, "cancelRequested": false }, "executionConfiguration": { "taskStartToCloseTimeout": "60", "executionStartToCloseTimeout": "1000", "taskList": { "name": "1111-1111-1111" }, "taskPriority": null, "childPolicy": "ABANDON", "lambdaRole": "arn:aws:iam::444455556666:role/BasicSWFLambdaExecution" }, "openCounts": { "openActivityTasks": 1, "openDecisionTasks": 0, "openTimers": 0, "openChildWorkflowExecutions": 0, "openLambdaFunctions": 0 }, "latestActivityTaskTimestamp": 1588699585802, } } }
Die Ausführung wurde beendet
{ "version": "0", "id": "1111-2222-3333", "detail-type": "Simple Workflow Execution State Change", "source": "aws.swf", "account": "444455556666", "time": "2020-05-08T22:37:26Z", "region": "us-east-1", "resources": [ "arn:aws:swf:us-east-1:444455556666:/domain/canary" ], "detail": { "eventId": 48, "eventType": "WorkflowExecutionTerminated", "workflowExecutionDetail": { "executionInfo": { "execution": { "workflowId": "1234-5678-9012", "runId": "777788889999" }, "workflowType": { "name": "1111-1111-1111", "version": "1.3" }, "startTimestamp": 1588977445279, "closeTimestamp": 1588977446062, "executionStatus": "CLOSED", "closeStatus": "TERMINATED", "parent": null, "parentExecutionArn": null, "tagList": null, "cancelRequested": false }, "executionConfiguration": { "taskStartToCloseTimeout": "60", "executionStartToCloseTimeout": "120", "taskList": { "name": "1111-1111-1111-2222-2222-2222" }, "taskPriority": null, "childPolicy": "TERMINATE", "lambdaRole": null }, "openCounts": { "openActivityTasks": 0, "openDecisionTasks": 1, "openTimers": 0, "openChildWorkflowExecutions": 0, "openLambdaFunctions": 0 }, "latestActivityTaskTimestamp": 1588977445882, } } }