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.
AWS Step Functions
Eine AWS CodePipeline-Aktion, die Folgendes ausführt:
-
Startet die Ausführung eines AWS Step Functions-Zustandsautomaten über Ihre Pipeline.
-
Stellt dem Zustandsautomaten über eine Eigenschaft in der Aktionskonfiguration oder über eine Datei in einem Pipelineartefakt einen Anfangszustand bereit, der als Eingabe übergeben wird.
-
Legt optional ein Ausführungs-ID-Präfix für die Identifizierung von Ausführungen fest, die von der Aktion ausgelöst werden.
-
Unterstützt Standard- und Express-Zustandsautomaten .
Anmerkung
In den Regionen Asien-Pazifik (Hongkong) und Europa (Mailand) ist diese Funktion nicht verfügbar. Weitere Informationen zu anderen verfügbaren Aktionen finden Sie unterProdukt- und Serviceintegrationen mit CodePipelineaus.
Aktionstyp
-
Kategorie:
Invoke
-
Eigentümer:
AWS
-
Anbieter:
StepFunctions
-
Version:
1
Konfigurationsparameter
- StateMachineArn
-
Erforderlich Ja
Der Amazon-Ressourcenname (ARN) für den Zustandsautomaten, der aufgerufen werden soll.
- ExecutionNamePrefix
-
Erforderlich Nein
Standardmäßig wird als Ausführungsname für den Zustandsautomaten die Ausführungs-ID der Aktion verwendet. Wenn ein Präfix angegeben wird, wird dieses der Ausführungs-ID der Aktion mit einem Bindestrich vorangestellt und beide Angaben werden zusammen als Ausführungsname für den Zustandsautomaten verwendet.
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
Bei einem Express-Zustandsautomaten sollte der Name nur 0-9, A-Z, a-z, - und _ enthalten.
- InputType
-
Erforderlich Nein
-
Literal(default): Wenn angegeben, ist der Wert in derEingabeDas Feld wird direkt an die Eingabe des Zustandsautomaten übergeben.
Beispieleintrag für das Feld Input (Eingabe), wenn Literal ausgewählt ist:
{"action": "test"}
-
FilePath: Der Inhalt einer Datei in dem Eingastartefakt, das imEingabeDas Feld wird als Eingabe für die Ausführung des Zustandsautomaten verwendet. Ein Eingabeartefakt ist erforderlich, wenn InputType auf FilePath festgelegt ist.
Beispieleintrag für das Feld Input (Eingabe) wenn FilePath ausgewählt ist:
assets/input.json
-
- Eingabe
-
Erforderlich Bedingt
-
Literal: WannInputTypewird auf gesetztLiteral(Standard) ist dieses Feld optional.
Wenn angegeben, wird das Feld Input (Eingabe) direkt als Eingabe für die Ausführung des Zustandsautomaten verwendet. Andernfalls wird der Zustandsautomat mit einem leeren JSON-Objekt (
{}
) aufgerufen. -
FilePath: WannInputTypewird auf gesetztFilePathist dieses Feld ein Pflichtfeld.
Ein Eingabe-Artefakt ist auch erforderlich, wenn InputType auf FilePathfestgelegt ist.
Der Inhalt der Datei im angegebenen Eingabeartefakt wird als Eingabe für die Ausführung des Zustandsautomaten verwendet.
-
Input artifacts (Eingabeartefakte)
-
Anzahl der Artefakte
0 to 1
-
Beschreibung WennInputTypewird auf gesetztFilePath, ist dieses Artefakt erforderlich und wird verwendet, um die Eingabe für die Ausführung des Zustandsautomaten zu erhalten.
Ausgabeartefakte
-
Anzahl der Artefakte
0 to 1
-
Beschreibung
-
Standard-Zustandsautomaten: Wenn angegeben, wird das Ausgabe-Artefakt mit der Ausgabe des Zustandsautomaten gefüllt. Dies wird von der
output
Eigentum derSchrittfunktionen DescribeExecution API-Antwort, nachdem die Ausführung des Zustandsautomaten erfolgreich abgeschlossen wurde. -
Express-Zustandsautomaten: Nicht unterstützt
-
Ausgabevariablen
Durch diese Aktion werden Ausgabevariablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können.
Weitere Informationen finden Sie unter Variablen.
- StateMachineArn
-
Der ARN des Zustandsautomaten.
- ExecutionArn
-
Der ARN der Ausführung des Zustandsautomaten. Nur Standard-Zustandsautomaten.
Beispielaktionskonfiguration
Beispiel für Standardeingabe
Beispiel für Literaleingabe
Beispiel für Eingabedatei
Behavior
Während einer Veröffentlichung CodePipeline führt den konfigurierten Zustandsautomaten unter Verwendung der Eingabe aus, die in der Aktionskonfiguration angegeben ist.
Wenn InputType auf Literal, festgelegt ist, wird der Inhalt des Konfigurationsfelds der Aktion, Input (Eingabe), als Eingabe für den Zustandsautomaten verwendet. Wenn keine Literaleingabe bereitgestellt wird, wird für die Ausführung des Zustandsautomaten ein leeres JSON-Objekt ({}
) verwendet. Weitere Informationen zum Ausführen eines Zustandsautomaten ohne Eingabe finden Sie in der Step Functions-StartExecution API.
Wenn InputType auf FilePath festgelegt ist, entpackt die Aktion das Eingabeartefakt und verwendet den Inhalt der Datei, die im Konfigurationsfeld der Aktion, Input (Eingabe), angegeben ist, als Eingabe für den Zustandsautomaten. Wenn FilePath angegeben wird, ist das Feld Input (Eingabe) erforderlich, und es muss ein Eingabeartefakt vorhanden sein. Andernfalls schlägt die Aktion fehl.
Nach einer erfolgreichen Ausführung des Starts ist das Verhalten für die beiden Arten von Zustandsautomaten, Standard- bzw. Express- unterschiedlich.
Standard-Zustandsautomaten
Wenn die Ausführung des Standard-Zustandsautomaten erfolgreich gestartet wurde, CodePipeline fragtDescribeExecution
-API, bis die Ausführung einen Terminalstatus erreicht. Wenn die Ausführung erfolgreich abgeschlossen wird, wird die Aktion erfolgreich ausgeführt, andernfalls schlägt sie fehl.
Wenn ein Ausgabeartefakt konfiguriert ist, enthält das Artefakt den Rückgabewert des Zustandsautomaten. Dies wird von deroutput
Eigentum derSchrittfunktionen DescribeExecution API-Antwort, nachdem die Ausführung des Zustandsautomaten erfolgreich abgeschlossen wurde. Beachten Sie, dass für diese API Einschränkungen für die Ausgabelänge zwingend gelten.
Fehlerbehandlung
-
Wenn der Start einer Ausführung für einen Zustandsautomaten fehlschlägt, schlägt die Ausführung der Aktion ebenfalls fehl.
-
Wenn die Ausführung des Zustandsautomaten nicht beendet ist CodePipeline Step Functions Functions-Aktion erreicht ihren Timeout (Standard 7 Tage), die Ausführung der Aktion schlägt fehl. Der Zustandsautomat läuft möglicherweise trotz dieses Fehlers weiter. Weitere Informationen zu Timeouts für die Ausführung von Zustandsautomaten in Step Functions-Standard-Workflows gegen Express-Workflowsaus.
Anmerkung
Sie können für das Konto mit der Aktion eine Kontingenterhöhung für das Timeout von Aufrufaktionen anfordern. Die Kontingenterhöhung gilt dann auch für alle Aktionen dieser Art in allen Regionen für dieses Konto.
-
Wenn die Ausführung des Zustandsautomaten mit dem Beendigungsstatus FAILED, TIMED_OUT oder ABORTED endet, schlägt die Ausführung der Aktion fehl.
Express-Zustandsautomaten
Wenn die Ausführung des Express-Zustandsautomaten erfolgreich gestartet wurde, wird die Ausführung der Aufrufaktion erfolgreich abgeschlossen.
Überlegungen zu Aktionen, die für Express-Zustandsautomaten konfiguriert sind:
-
Sie können kein Ausgabeartefakt angeben.
-
Die Aktion wartet nicht, bis die Ausführung des Zustandsautomaten beendet ist.
-
Nachdem die Ausführung der Aktion in CodePipeline gestartet wurde, ist die Ausführung der Aktion auch dann erfolgreich, wenn die Ausführung des Zustandsautomaten fehlschlägt.
Fehlerbehandlung
-
Wenn CodePipeline Starten der Ausführung eines Zustandsautomaten nicht, die Ausführung der Aktion schlägt fehl. Andernfalls gilt die Aktion sofort ebenfalls als erfolgreich ausgeführt. Die Aktion gelingt CodePipeline unabhängig davon, wie lange die Ausführung des Zustandsautomaten dauert oder deren Ergebnis dauert.
Weitere Informationen finden Sie auch unter
Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
-
AWS Step FunctionsEntwicklerhandbuch— Weitere Informationen zu Zustandsautomaten sowie deren Ausführung und Eingaben finden Sie imAWS Step FunctionsEntwicklerhandbuchaus.
-
Tutorial: Verwenden einerAWS Step FunctionsAufrufen einer Aktion in einer Pipeline- In diesem Tutorial beginnen Sie mit einem Beispiel-Standard-Zustandsautomaten. Das Tutorial veranschaulicht, wie Sie mithilfe der Konsole eine Pipeline aktualisieren, indem Sie eine -Aufrufaktion Step Functions Functions-Aufrufen verwenden.