Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Zugreifen auf Ausführungsdaten aus dem Context-Objekt in Step Functions

Fokusmodus
Zugreifen auf Ausführungsdaten aus dem Context-Objekt in Step Functions - AWS Step Functions

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.

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.

Status verwalten und Daten transformieren

Das Context-Objekt ist eine interne JSON-Struktur, die während einer Ausführung verfügbar ist und Informationen über Ihre Zustandsmaschine und die Ausführung enthält. Der Kontext liefert Ihren Workflows Informationen über ihre spezifische Ausführung. Ihre Workflows können das Context-Objekt in einem JSONata Ausdruck mit referenzieren$states.context.

Zugreifen auf das Context-Objekt

Um auf das Context-Objekt zuzugreifen in JSONata

Um in JSONata Zuständen auf das Context-Objekt zuzugreifen, verwenden Sie es $states.context in einem JSONata Ausdruck.

{ "ExecutionID" : "{% $states.context.Execution.Id %}" }

Um auf das Context-Objekt zuzugreifen in JSONPath

Um auf das Context-Objekt in zuzugreifen JSONPath, fügen Sie es zunächst .$ an das Ende des Schlüssels an, um anzugeben, dass es sich bei dem Wert um einen Pfad handelt. Stellen Sie dann dem Wert ein, $$. um einen Knoten im Context-Objekt auszuwählen.

{ "ExecutionID.$": "$$.Execution.Id" }

JSONPath Staaten können aus den folgenden JSONPath Feldern auf den Kontext ($$.) verweisen:

  • InputPath

  • OutputPath

  • ItemsPath(in Kartenstaaten)

  • Variable(in den Staaten Choice)

  • ResultSelector

  • Parameters

  • Operatoren für den Vergleich von Variablen zu Variablen

Felder für Kontextobjekte

Das Context-Objekt enthält Informationen über die Zustandsmaschine, den Status, die Ausführung und die Aufgabe. Dieses JSON-Objekt enthält Knoten für jeden Typ von Daten und hat das folgende Format.

{ "Execution": { "Id": "String", "Input": {}, "Name": "String", "RoleArn": "String", "StartTime": "Format: ISO 8601", "RedriveCount": Number, "RedriveTime": "Format: ISO 8601" }, "State": { "EnteredTime": "Format: ISO 8601", "Name": "String", "RetryCount": Number }, "StateMachine": { "Id": "String", "Name": "String" }, "Task": { "Token": "String" } }

Während einer Ausführung wird das Context-Objekt mit relevanten Daten gefüllt. RedriveTime Das Kontextobjekt ist nur verfügbar, wenn Sie redriven eine Hinrichtung. Wenn du redriven a Map Run, das RedriveTime Kontextobjekt ist nur für untergeordnete Workflows vom Typ Standard verfügbar. Für ein redriven Map Run mit untergeordneten Workflows vom Typ Express RedriveTime ist nicht verfügbar.

Inhalte aus einer laufenden Ausführung enthalten Einzelheiten im folgenden Format.

{ "Execution": { "Id": "arn:aws:states:us-east-1:123456789012:execution:stateMachineName:executionName", "Input": { "key": "value" }, "Name": "executionName", "RoleArn": "arn:aws:iam::123456789012:role...", "StartTime": "2019-03-26T20:14:13.192Z" }, "State": { "EnteredTime": "2019-03-26T20:14:13.192Z", "Name": "Test", "RetryCount": 3 }, "StateMachine": { "Id": "arn:aws:states:us-east-1:123456789012:stateMachine:stateMachineName", "Name": "stateMachineName" }, "Task": { "Token": "h7XRiCdLtd/83p1E0dMccoxlzFhglsdkzpK9mBVKZsp7d9yrT1W" } }
Anmerkung

Informationen zu Kontextobjekten, die sich auf Map Bundesstaaten beziehen, finden Sie unterKontextobjektdaten für Kartenstatus.

Kontextobjektdaten für Kartenstatus

Status verwalten und Daten transformieren

Bei der Verarbeitung eines MapZustands sind im Context-Objekt zwei zusätzliche Elemente verfügbar: Index undValue. IndexEnthält für jede Map Status-Iteration die Indexnummer für das Array-Element, das gerade verarbeitet wird, und Value enthält gleichzeitig das Array-Element, das gerade verarbeitet wird. Innerhalb eines Map Zustands enthält das Context-Objekt die folgenden Daten:

"Map": { "Item": { "Index": Number, "Value": "String" } }

Diese sind nur in einem Map Bundesstaat verfügbar und können im ItemSelector (Karte) Feld angegeben werden.

Anmerkung

Sie müssen Parameter aus dem Context-Objekt im ItemSelector Block des Map Hauptstatus definieren, nicht innerhalb der im ItemProcessor Abschnitt enthaltenen Staaten.

Bei einer Zustandsmaschine, die einen JSONPath Map Status verwendet, können Sie Informationen aus dem Context-Objekt wie folgt einfügen.

{ "StartAt": "ExampleMapState", "States": { "ExampleMapState": { "Type": "Map", "ItemSelector": { "ContextIndex.$": "$$.Map.Item.Index", "ContextValue.$": "$$.Map.Item.Value" }, "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "TestPass", "States": { "TestPass": { "Type": "Pass", "End": true } } }, "End": true } } }

Wenn Sie den vorherigen Zustandsautomaten mit der folgenden Eingabe ausführen, werden Index und Value in die Ausgabe eingefügt.

[ { "who": "bob" }, { "who": "meg" }, { "who": "joe" } ]

Die Ausgabe für die Ausführung gibt die Werte von Index und Value Elemente für jede der drei Iterationen wie folgt zurück:

[ { "ContextIndex": 0, "ContextValue": { "who": "bob" } }, { "ContextIndex": 1, "ContextValue": { "who": "meg" } }, { "ContextIndex": 2, "ContextValue": { "who": "joe" } } ]
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.