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.
Workflow-Status „Fehlgeschlagen“
Status verwalten und Daten transformieren
Step Functions hat kürzlich Variablen hinzugefügt und JSONata dient der Verwaltung von Zustands- und Transformationsdaten.
Erfahren Sie mehr über das Übergeben von Daten mit Variablen und das Transformieren von Daten mit JSONata.
Ein Fail
Status ("Type": "Fail"
) stoppt die Ausführung der Zustandsmaschine und markiert sie als Fehler, sofern sie nicht von einem Catch
Block abgefangen wird.
Der Fail
-Zustand erlaubt nur die Verwendung der Felder Type
und Comment
aus der Menge der allgemeinen Zustandsfelder. Darüber hinaus erlaubt der Fail
-Zustand die folgenden Felder.
-
Cause
(Optional) -
Eine benutzerdefinierte Zeichenfolge, die die Ursache des Fehlers beschreibt. Sie können dieses Feld für Betriebs- oder Diagnosezwecke angeben.
In JSONata Bundesstaaten können Sie auch einen JSONata Ausdruck angeben.
-
CausePath
(JSONPathNur optional) -
Wenn Sie anhand der Statuseingabe mithilfe eines Referenzpfads dynamisch eine detaillierte Beschreibung der Fehlerursache bereitstellen möchten, verwenden Sie
CausePath
. Wenn das Problem gelöst ist, muss der Referenzpfad ein Feld auswählen, das einen Zeichenkettenwert enthält.Sie können dies auch
CausePath
mithilfe einer systeminternen Funktion angeben, die eine Zeichenfolge zurückgibt. Diese intrinsischen Eigenschaften sind: States.Format,,,, States.JsonToStringStates.ArrayGetItem, States.Base64Encode States.Hash und. States.Base64Decode States.UUIDWichtig
-
Sie können entweder
Cause
oderCausePath
, aber nicht beide in Ihrer Definition für den Status „Fehler“ angeben. -
Aus Gründen der Informationssicherheit empfehlen wir, alle vertraulichen Informationen oder internen Systemdetails aus der Ursachenbeschreibung zu entfernen.
-
-
Error
(Optional) -
Ein Fehlername, den Sie angeben können, um die Fehlerbehandlung mithilfe der Felder Retry oder Catch durchzuführen. Sie können auch einen Fehlernamen für Betriebs- oder Diagnosezwecke angeben.
In JSONata Bundesstaaten können Sie auch einen JSONata Ausdruck angeben.
-
ErrorPath
(JSONPathNur optional) -
Wenn Sie mithilfe eines Referenzpfads dynamisch aus der Statuseingabe einen Namen für den Fehler angeben möchten, verwenden Sie
ErrorPath
. Wenn das Problem behoben ist, muss der Referenzpfad ein Feld auswählen, das einen Zeichenkettenwert enthält.Sie können dies auch
ErrorPath
mithilfe einer systeminternen Funktion angeben, die eine Zeichenfolge zurückgibt. Diese intrinsischen Eigenschaften sind: States.Format,,,, States.JsonToStringStates.ArrayGetItem, States.Base64Encode States.Hash und. States.Base64Decode States.UUIDWichtig
-
Sie können entweder
Error
oderErrorPath
, aber nicht beide in Ihrer Definition für den Status „Fehler“ angeben. -
Aus Gründen der Informationssicherheit empfehlen wir, alle vertraulichen Informationen oder internen Systemdetails aus dem Fehlernamen zu entfernen.
-
Da die Fail
-Zustände den Zustandsautomaten immer beenden, haben sie kein Next
-Feld und erfordern kein End
-Feld.
Beispiele für die Definition des Status „Fehler“
Das folgende Beispiel für die Definition eines Fehlerstatus gibt statische Werte Error
und Cause
Feldwerte an.
"FailState": {
"Type": "Fail",
"Cause": "Invalid response.",
"Error": "ErrorA"
}
Im folgenden Beispiel für die Definition eines Fehlerstatus werden Referenzpfade dynamisch verwendet, um die Cause
Feldwerte Error
und aufzulösen.
"FailState": {
"Type": "Fail",
"CausePath": "$.Cause",
"ErrorPath": "$.Error"
}
Im folgenden Beispiel für die Definition des Status Fail wird die systemeigene Funktion States.Format verwendet, um die Feldwerte Error
und Cause
dynamisch anzugeben.
"FailState": {
"Type": "Fail",
"CausePath": "States.Format('This is a custom error message for {}, caused by {}.', $.Error, $.Cause)",
"ErrorPath": "States.Format('{}', $.Error)"
}