EventBridge für Änderungen des Amazon SWF SWF-Ausführungsstatus - Amazon Simple Workflow Service

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 Amazon SWF SWF-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 Standardereignisbus 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 ein Ereignis EventBridge empfangen wird, das der Regel entspricht. Auf diese Weise können Sie Ihre Workflows überwachen, ohne ständig Abfragen über die GetWorkflowExecutionHistoryAPI durchführen zu müssen. Basierend auf Änderungen an den Workflow-Ausführungen können Sie ein EventBridge Ziel verwenden, um AWS Lambda Funktionen aufzurufen, Nachrichten zu Amazon Simple Notification Service (Amazon SNS) -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 Amazon SWF SWF-Ereignisse

Im Folgenden finden Sie Beispiele dafür, wie Amazon SWF Ereignisse sendet an EventBridge:

In jedem Fall bietet der Abschnitt detail in den Ereignisdaten die gleichen Informationen wie die 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, } } }

Ausführung 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, } } }