AWS Step Functions – Häufig gestellte Fragen

Übersicht

AWS Step Functions ist ein vollständig verwalteter Dienst, der die Koordinierung der Komponenten verteilter Anwendungen und Microservices mithilfe visueller Workflows erleichtert. Der Aufbau von Anwendungen aus einzelnen Komponenten, die jeweils eine diskrete Funktion erfüllen, erleichtert die Skalierung und ermöglicht schnellere Anwendungsänderungen.

Step Functions ist eine zuverlässige Methode zur Koordination von Komponenten und Durchlaufen der Funktionen Ihrer Anwendungen. Step Functions bietet eine grafische Konsole zum Anordnen und Visualisieren der Komponenten Ihrer Anwendungen als eine Serie von Schritten. Dies vereinfacht die Erstellung und Ausführung von mehrstufigen Anwendungen.

Step Functions löst jeden Schritt automatisch aus und verfolgt ihn und führt bei Fehlern Neuversuche aus, sodass Ihre Anwendung in der richtigen Reihenfolge und wie erwartet ausgeführt wird. Step Functions protokolliert den Zustand der einzelnen Schritte, so dass Sie bei Problemen Probleme schneller zu diagnostizieren und zu beheben. Sie können Schritte verändern und hinzufügen, ohne dass Sie Codes schreiben müssen, sodass Sie Ihre Anwendung einfacher entwickeln und schneller erneuern können.

Die Aufteilung einer Anwendung in Servicekomponenten (oder Schritte) stellt sicher, dass der Ausfall einer Komponente nicht das gesamte System zum Absturz bringt. Jede Komponente ist unabhängig skalierbar und kann aktualisiert werden, ohne dass das gesamte System nach jeder Änderung neu bereitgestellt werden muss.

Die Koordinierung der Dienstleistungskomponenten beinhaltet die Verwaltung von Ausführungsabhängigkeiten und Zeitplanung sowie die Gleichzeitigkeit in Übereinstimmung mit dem logischen Ablauf der Anwendung. In einer solchen Anwendung können Sie diese Aufgaben mithilfe der Service-Orchestrierung durchführen und Ausfälle bearbeiten.

Step Functions hilft bei jedem Berechnungsproblem oder Geschäftsprozess, das bzw. der in eine Reihe von Schritten unterteilt werden kann. Es ist auch nützlich für die Erstellung von End-to-End-Workflows zur Verwaltung von Aufträgen mit wechselseitigen Abhängigkeiten. Folgende Anwendungsfälle sind möglich:

  • Datenverarbeitung: Konsolidieren Sie Daten aus mehreren Datenbanken in einheitlichen Berichten, verfeinern und reduzieren Sie große Datensätze in nützliche Formate, iterieren und verarbeiten Sie Millionen von Dateien in einem Amazon-Simple-Storage-Service-Bucket (S3) mit Workflows mit hoher Gleichzeitigkeit oder koordinieren Sie mehrstufige Analysen und Machine Learning
  • Entwicklung serverloser generativer KI-Anwendungen: Nutzen Sie Step Functions für die Orchestrierung von Interaktionen mit den Basismodellen von Amazon Bedrock, schnelle Verkettung, Feinabstimmung und Anreicherung mit Funktionen aus über 220 AWS-Services
  • DevOps und IT-Automatisierung: Entwickeln Sie Tools für kontinuierliche Integration und kontinuierliche Bereitstellung oder erstellen Sie ereignisgesteuerte Anwendungen, die automatisch auf Änderungen in der Infrastruktur reagieren
  • E-Commerce: Automatisieren von missionskritischen Geschäftsprozessen wie Auftragsabwicklung und Bestandsverfolgung.
  • Webanwendungen: Implementieren von robusten Prozessen zur Benutzerregistrierung und Anmeldeauthentifizierung.

Weitere Einzelheiten finden Sie unter AWS Step Functions Anwendungsfälle und Kundenreferenzen.

Wenn Sie Step Functions verwenden, definieren Sie Zustandsmaschinen, die Ihren Workflow als eine Reihe von Schritten, deren Beziehungen sowie deren Ein- und Ausgänge beschreiben. Zustandsmaschinen enthalten eine Reihe von Zuständen, die jeweils einen Schritt in einem Arbeitsablaufdiagramm darstellen.

Zustände können Arbeiten ausführen, Entscheidungen treffen, Parameter übergeben, die parallele Ausführung einleiten, Timeouts verwalten oder Ihren Workflow mit Erfolg oder Misserfolg beenden.

Die visuelle Konsole stellt jeden Zustand automatisch in der Reihenfolge der Ausführung grafisch dar, sodass es einfacher ist, mehrstufige Anwendungen zu erstellen. Der Echtzeit-Status der einzelnen Schritte wird hervorgehoben und ein detaillierter Verlauf jeder einzelnen Ausführung angezeigt.

Weitere Informationen finden Sie unter Funktionsweise der Stufenfunktionen in den SchrittfunktionenEntwicklerhandbuch.

Sie können jeden AWS-Service mit Service-Integrationen oder jede selbstverwaltete Anwendungskomponente mit Aktivitäten orchestrieren.

Integration von Diensten helfen Ihnen, Aufrufe an AWS-Services zu erstellen und die Antwort in Ihren Arbeitsablauf zu integrieren. Mit den AWS-SDK-Service-Integrationen helfen Ihnen eine von über 9 000 AWS-API-Aktionen aus über 200 Services direkt von Ihrem Workflow aus auzufrufen.

Optimierte Service-Integrationen vereinfachen die Nutzung gängiger Dienste wie z. B. AWS Lambda, Amazon Elastic Container Service (ECS), AWS-Kleber, oder Amazon EMR mit Funktionen wie der Erstellung von IAM-Richtlinien und dem RunAJob-Muster, das automatisch auf den Abschluss von asynchronen Aufträgen wartet.

Aktivität Aufgaben die Integration von Aktivitäten, die Sie an einem Ort Ihrer Wahl durchführen, auch in Amazon Elastic Compute Cloud (EC2), in Amazon ECS, auf einem mobilen Gerät oder auf einem Server vor Ort. Der Activity Worker fragt Step Functions nach Arbeit ab, nimmt alle Eingaben von Step Functions entgegen, führt die Arbeit mit Ihrem Code aus und gibt die Ergebnisse zurück. Da Activity Worker Arbeit anfordern, ist es einfacher, Worker zu verwenden, die hinter einer Firewall bereitgestellt sind.

Ein Zustandsautomat von Step Functions kann Kombinationen von Service-Integrationen und Aktivitäten enthalten. Anwendungen von Step Functions können auch Activity Worker, die in einem Rechenzentrum laufen, mit Service-Aufgaben kombinieren, die in der Cloud ausgeführt werden. Die Worker im Rechenzentrum werden wie gewohnt weiter ausgeführt, ebenso wie alle cloudbasierten Serviceaufgaben.

Es gibt eine Reihe von Möglichkeiten, wie Sie mit den Step Functions beginnen können:

AWS Step Functions Zustandsautomaten sind definiert in JSON unter Verwendung der deklarativen Amazonas-Staaten Sprache.

So erstellen Sie eine Aktivitätsarbeiter, können Sie eine beliebige Programmiersprache verwenden, solange Sie mit Step Functions kommunizieren können Webservice-APIs.

Für die leichtere Vorgehensweise können Sie ein AWS SDK in der gewünschten Sprache verwenden. Lambda unterstützt Code, der in Node.js (JavaScript), Python, Golang (Go), und C# (unter Verwendung der .NET Core-Laufzeitumgebung und anderer Sprachen). Weitere Informationen zum Lambda-Programmiermodell finden Sie im Lambda-Entwicklerhandbuch.

Sie können die beiden Workflow-Typen zusammenstellen:

  • Durch die Ausführung von Express-Workflows als untergeordneter Workflow von Standard-Workflows: Der Express-Workflow wird von einem Task-Status im übergeordneten Orchestrierungs-Workflow aufgerufen und ist aus Sicht des übergeordneten Workflows erfolgreich oder nicht erfolgreich. Es unterliegt der Wiederholungsrichtlinie des übergeordneten Workflows für diese Aufgabe.
     
  • Durch den Aufruf von Express-Workflows aus einem Express-Workflow heraus, solange alle Workflows die Dauer des übergeordneten Workflows nicht überschreiten: Sie können Ihre Workflows auf diese Weise faktorisieren, wenn Ihr Anwendungsfall eine Kombination aus lang andauernden oder genau einmaligen und kurzlebigen Schritten mit hoher Rate aufweist.

Step Functions enthält einen Map-Status für dynamische Parallelisierung. Der Map-Status hat zwei Betriebsmodi, Inline und Verteilt, und beide Modi führen dieselbe Reihe von Schritten für eine Sammlung von Elementen aus. Eine Map im Inline-Modus kann 40 parallele Verzweigungen und eine maximale Ausführungshistorie von 25 000 Ereignissen oder etwa 6 500 Zustandsübergängen in einem Workflow unterstützen. Mit dem verteilten Modus können Sie bis zu 10 000 parallele Verzweigungen ausführen. Die verteilte Karte wurde für Amazon S3 optimiert, damit Sie einfacher über Objekte in einem S3-Bucket iterieren können. Siehe die FAQ im Abschnitt Integration. Die Iterationen einer verteilten Karte werden in parallele Ausführungen aufgeteilt, damit Sie die Grenzen der Nutzlast und der Ausführungshistorie überwinden können. Sie können auch wählen, ob jede Iteration von einem Standard-Workflow, der idempotent ist, oder einem Express-Workflow, der schneller und kostengünstiger, aber nicht idempotent ist, durchgeführt wird. Erfahren Sie mehr über die Zustand der Karte.

Sie können jetzt das neue Feld Assign verwenden, um Workflow-Variablen zu definieren, und später mithilfe der $VarName-Syntax auf diese Variablen verweisen. Wenn StateK auf Daten verweisen muss, die von einem früheren StateA generiert wurden, müssen Sie die Daten explizit ohne Variablen durch alle dazwischenliegenden Zustände leiten, wohingegen Sie bei Variablen den Wert einer Variablen in StateA zuweisen und dann auf die Variable in StateK verweisen.

JSONata ist wie JSONPath eine Open-Source-Datenabfrage-/Transformationssprache für JSON-Daten, außer dass sie leistungsfähigere Operationen wie die Generierung von Datum und Uhrzeit sowie mathematische Berechnungen ausführen kann. Es ermöglicht das Ausdrücken anspruchsvoller Abfragen in einer kompakten und leistungsstarken Notation. JSONATA bietet integrierte Operatoren und Funktionen zum Bearbeiten und Kombinieren von Daten, und die Ergebnisse von Abfragen können mithilfe der vertrauten JSON-Objekt- und Array-Syntax in jede JSON-Ausgabestruktur formatiert werden.

Ja. Variablen können zu jedem vorhandenen Workflow hinzugefügt werden, indem Variablen zugewiesen werden. Verbesserte Datentransformationen mit JSONATA sind in jedem vorhandenen Workflow verfügbar, indem „queryLanguage“ :"jsonata“ als Abfragesprache für einzelne Bundesstaaten oder für den gesamten Workflow deklariert wird. Aktuelle Kunden mit Produktions-Workloads können Variables und JSONATA in bestehenden Workflows nutzen und sich dafür entscheiden, die verbesserten Datendirektiven in neuen Workflows zu verwenden. Die von Variables und JSONATA eingeführten Funktionen, die gemeinsam angewendet werden, bieten Neukunden einen einfacheren Lernpfad, wenn sie sich mit Step Functions in der aktuellen Version von ASL vertraut machen. Mit diesem Ansatz stehen alle zukünftigen Funktionen von Step Functions allen Kunden zur Verfügung, ohne dass sie ihre Workflows aktualisieren müssen, um eine neue Version von ASL zu verwenden.

Anstatt wie heute JSONPath und Intrinsic Functions für die Datenauswahl und -transformation zu verwenden, verwenden Sie JSONata. Um einen JSONata-Ausdruck mit „queryLanguage“ :"JSONata“ zu schreiben, umgeben Sie ihn mit {%%} wie folgt: „{% JSONata expression%}“. Sie können beispielsweise ein Datum für heute wie folgt erstellen: „DateStamp“: „{% $now ()%}“.

JSONPath verwendet unterschiedliche Kombinationen von fünf Primärfeldern, um Daten innerhalb jedes Zustands abzufragen und zu transformieren (InputPath, Parameters, ResultSelector, ResultPath und OutputPath), was für Entwickler eine Herausforderung darstellt. Mit JSonata können Sie sich jetzt dafür entscheiden, „queryLanguage“ :"jsonata“ zu verwenden, um die fünf Felder durch zwei neue Felder (Arguments und Output) zu ersetzen. Das neue Arguments-Feld bietet zusätzliche Funktionen zum Erstellen des Werts, der an eine API oder einen Sub-Workflow gesendet werden soll, und das neue Ausgabefeld bietet zusätzliche Funktionen für die Erstellung der Statusausgabe. Beide Felder akzeptieren JSONata für die Datenmanipulation. „queryLanguage“ :"JSONATA“ bietet einen vereinfachten Satz von Regeln, die nicht mehr die „.$“ -Konvention für Feldnamen verwenden und stattdessen JSONata-Ausdrücke in {%%} einschließen. Mithilfe des neuen Bedingungsfeldes können Sie jetzt Auswahlstatusbedingungen in eine einzige Zeile schreiben. Das Condition-Feld akzeptiert entweder einen booleschen Wert oder einen Zeichenkettenwert, der je nach QueryLanguage-Einstellung ein JSONPath- oder JSONATA-Ausdruck sein muss.

Vergleiche

Sie sollten AWS Step Functions verwenden, wenn Sie Service-Komponenten bei der Entwicklung von hoch skalierbaren und auditierbaren Anwendungen koordinieren müssen. Amazon Simple Queue Service (Amazon SQS) wird verwendet, wenn Sie eine zuverlässige, hoch skalierbare gehostete Warteschlange zum Versenden, Speichern und Empfangen von Nachrichten zwischen Services benötigen.

  • Step Functions verfolgt alle Aufgaben und Ereignisse in einer Anwendung. SQS erfordert, dass Sie Ihre eigene Verfolgung auf Anwendungsebene implementieren, insbesondere wenn Ihre Anwendung mehrere Warteschlangen verwendet.
     
  • Die Step-Function-Konsole und die Sichtbarkeits-APIs bieten eine anwendungszentrierte Ansicht, mit der Sie nach Ausführungen suchen, Details einer Ausführung anzeigen und Ausführungen verwalten können. SQS würde die Implementierung zusätzlicher Funktionen erfordern.
     
  • Step Functions bietet mehrere Funktionen, die die Anwendungsentwicklung erleichtern, z. B. die Weitergabe von Daten zwischen Aufgaben und die Flexibilität bei der Verteilung von Aufgaben, während Sie bei SQS Funktionen auf Anwendungsebene implementieren müssen.
     
  • Step Functions verfügt über sofort einsatzbereite Funktionen zur Erstellung von Workflows zur Koordinierung Ihrer verteilten Anwendung. Mit SQS können Sie grundlegende Arbeitsabläufe erstellen, aber die Funktionalität ist begrenzt.

Sie sollten sich für Step Functions für all Ihre neuen Anwendungen entscheiden, da dies ein produktives und agiles Vorgehen zur Koordination von Anwendungskomponenten unter Verwendung von visuellen Workflows darstellt. Wenn Sie externe Signale benötigen, um in Ihre Prozesse einzugreifen, oder wenn Sie untergeordnete Prozesse starten möchten, die ein Ergebnis an einen übergeordneten Prozess zurückgeben, dann sollten Sie Folgendes in Betracht ziehen Amazon Simple Workflow Service (Amazon SWF).

Mit SWF können Sie ein Entscheiderprogramm schreiben, um Aktivitätsschritte von Entscheidungsschritten zu trennen, anstatt Zustandsmaschinen in einer deklarativen JSON zu schreiben. Dies bietet Ihnen die vollständige Kontrolle über Ihre Orchestrierungslogik, erhöht aber die Komplexität der Anwendungsentwicklung. Sie können hier Entscheiderprogramme in der Programmiersprache Ihrer Wahl schreiben oder das Flow-Framework mit seinen Programmierkonstrukten verwenden, die asynchrone Interaktionen für Sie strukturieren.

Amazon EventBridge ist ein Serverless-Service, der Ereignisse verwendet, um Anwendungskomponenten miteinander zu verbinden. Auf diese Weise können Entwickler problemlos skalierbare, ereignisgesteuerte Anwendungen erstellen. API Destinations ist eine Funktion von EventBridge, mit der Sie Regeln für die Weiterleitung von Ereignissen an Endgeräte von Drittanbietern erstellen können, um Ereignisproduzenten und -verbraucher zu entkoppeln.

Die Integration von HTTPS-Endpunkten in AWS Step Functions ermöglicht es Ihnen, HTTPS-basierte Services aufzurufen und eine Antwort zu erhalten, mit der Sie den Ablauf Ihrer Ausführung auf der Grundlage Ihrer Geschäftslogik steuern können. Amazon EventBridge konzentriert sich auf das Weiterleiten von Ereignissen, während sich Step Functions auf die Orchestrierung von Workflows und die Statusverwaltung konzentriert. EventBridge-API-Ziele und die Integration von HTTPS-Endpunkten von Step Functions können eine Verbindung zur Authentifizierung unterstützen, sodass Sie Authentifizierungsdaten serviceübergreifend wiederverwenden können. Beide Services können zusammen verwendet werden, um hochgradig skalierbare und robuste verteilte Anwendungen zu erstellen.

Integration

Workflows, die Sie mit Step Functions erstellen, können über 200 AWS-Services verbinden und koordinieren. Dienstintegrationen. Beispielsweise können Sie:

  • Eine AWS Lambda-Funktion aufrufen
  • ECS- oder AWS Fargate-Aufgabe ausführen
  • Ein bestehendes Element aus einer Amazon-DynamoDB-Tabelle abrufen oder ein neues Element in eine DynamoDB-Tabelle einfügen.
  • Einen AWS-Batch-Auftrag senden und warten, bis er abgeschlossen ist
  • Amazon-Bedrock-Basismodell aufrufen
  • Eine Nachricht zu einem Amazon-SNS-Thema veröffentlichen
  • Eine Nachricht an eine Amazon-SQS-Warteschlange senden
  • Einen AWS Glue-Auftrag starten
  • Einen Amazon-SageMaker-Auftrag erstellen, um ein Machine-Learning-Modell zu trainieren oder einen Datensatz im Batch-Verfahren zu transformieren.

Weitere Informationen über die Verwendung von Step Functions zur Verbindung mit anderen AWS-Services finden Sie im Schritt-Funktionen Entwicklerhandbuch. Sie können auch Aufgaben in Ihren Zustandsautomaten erstellen, die Anwendungen ausführen, siehe die FAQ in der Übersicht Abschnitt, Wie sind die Schrittfunktionen mit meinen Ressourcen verbunden?

Die gängigsten Anwendungsfälle von Step Functions finden Sie auf der Seite Anwendungsfälle, auf der detaillierte Fälle zusammen mit Architekturvisualisierungen zu finden sind.

Mithilfe der HTTPS-Endpunktintegration von AWS Step Functions können Sie direkt in HTTP-basierte Services, einschließlich SaaS-Anwendungen, integrieren. Mithilfe einer visuellen Oberfläche können Sie verteilte Anwendungen erstellen und orchestrieren, die aus AWS-Services und SaaS-Anwendungen bestehen.

Sie können die TestState-API verwenden, um einen einzelnen Schritt Ihres Workflows zu testen und so schnellere Feedback-Zyklen zu ermöglichen, um die Entwicklung zu beschleunigen. Mit dem TestState können Sie Services und Endpunkte direkt aufrufen, die Eingabe ändern, um verschiedene Szenarien nachzuahmen, und die Antwort überprüfen. Sie können über Workflow Studio auf den TestState zugreifen, sodass Sie ihn während der Entwicklung problemlos testen können, ohne dass Sie Ihren Workflow bereitstellen müssen. TestState akzeptiert eine einzelne Zustandsdefinition und Eingabe und gibt dann synchron die Statusausgabe zusammen mit zwischengeschalteten Datentransformationen zurück. Nachdem Sie Ihren Workflow ausgeführt haben, können Sie Ausführungen über Amazon CloudWatch Logs, AWS X-Ray und direkt in der Step-Funktionskonsole analysieren und debuggen, und zwar über ein visuelles Bedienerlebnis, das Ihnen hilft, Problembereiche schnell zu identifizieren. 

Sie können Workflows mit einem Map-Status im verteilten Modus erstellen, um Daten wie Protokolle, Mediendateien, Verkaufstransaktionen oder IoT-Sensordaten in großem Umfang zu verarbeiten. Step Functions iteriert durch die Elemente und startet sofort parallele Workflow-Ausführungen, so dass Sie eine On-Demand-Datenverarbeitung im großen Maßstab aufbauen können. Der Status der verteilten Karte wurde für die Arbeit mit S3 optimiert. Sie können einen S3-Bucket mit Filterkriterien, eine S3-Manifestdatei, eine JSON-Sammlung oder eine in S3 gespeicherte CSV-Datei als Eingaben für Ihren Workflow angeben. Sie können auch einen S3-Bucket für die Ausführungsergebnisse einer verteilten Karte angeben.

Sie können Ihre Schrittfunktions-APIs verknüpfen mit Amazon API Gateway so dass diese APIs Ihre Zustandsmaschinen aufrufen, wenn eine HTTPS-Anforderung an eine von Ihnen definierte API-Methode gesendet wird.

Sie können eine API-Gateway-API verwenden, um Step Functions-Zustandsmaschinen zu starten, die die Komponenten einer verteilten Backend-Anwendung koordinieren, und Aufgaben der menschlichen Tätigkeit integrieren in die einzelnen Schritte Ihrer Anwendung, wie z. B. Genehmigungsanträge und Antworten.

Sie können zudem serverlose asynchrone Aufrufe an die APIs von Services ausführen, die Ihre Anwendung verwendet. Weitere Informationen finden Sie in unserem Tutorial, Creating a Step Functions API Using API Gateway.

Choreographie und Orchestrierung sind zwei verschiedene Modelle dafür, wie verteilte Services miteinander kommunizieren können. Bei der Orchestrierung wird die Kommunikation strenger kontrolliert und Step Functions, ein Orchestrierungsservice, koordiniert die Interaktion und die Reihenfolge, in der die Services aufgerufen werden.

Die Choreographie ermöglicht Kommunikation ohne strenge Kontrolle. Mit Amazon EventBridge fließen Ereignisse zwischen Services ohne zentrale Koordination. Viele Anwendungen verwenden sowohl Choreographie als auch Orchestrierung für verschiedene Anwendungsfälle. 

Beispiele dafür, wie Sie Step Functions und EventBridge zusammen verwenden können, sind das Senden eines Ereignisses oder das Erstellen eines Zeitplans mit EventBridge Scheduler, um einen AWS-Step-Functions-Workflow auszulösen, gefolgt von der Ausgabe von Ereignissen bei verschiedenen Schritten Ihres Workflows.

AWS Lambda ist ein ereignisgesteuerter Serverless-Computing-Service, mit dem Sie Code für praktisch jede Art von Anwendung oder Backend-Service ausführen können, ohne Server bereitzustellen oder zu verwalten. Step Functions ist ein serverloser Orchestrierungsdienst, mit dem Sie problemlos mehrere Lambda-Funktionen zu flexiblen Workflows koordinieren können, die leicht zu debuggen und zu ändern sind. Step Functions wird Ihre Lambda-Funktionen frei von zusätzlicher Logik halten, indem es jeden Schritt Ihrer Anwendung für Sie auslöst und verfolgt.

Ja, Step Functions ist ein serverloser Orchestrierungsservice. Step Functions skaliert die Vorgänge und zugrunde liegende Berechnung zur Durchführung der Schritte Ihrer Anwendung für Sie als Reaktion auf sich verändernde Workloads. Step Functions verfügt über eine integrierte Fehlertoleranz und hält die Servicekapazität über mehrere Availability Zones in jeder Region aufrecht, um Anwendungen vor Ausfällen einzelner Rechner oder Rechenzentren zu schützen. Dadurch kann eine hohe Verfügbarkeit sowohl für den Service selbst als auch für den Anwendungs-Workflow, den er ausführt, sichergestellt werden.

Step Functions bietet ein nutzungsabhängiges Abrechnungsmodell, um die Flexibilität zu erhöhen und die Kosten zu optimieren. Erfahren Sie mehr über Schritt Funktionen Preisgestaltung.

AWS Step Functions sendet Metriken an Amazon CloudWatch und AWS CloudTrail für die Anwendungsüberwachung. Mit CloudWatch können Metriken gesammelt und nachverfolgt sowie Alarme eingestellt werden. Zudem reagiert es automatisch auf Veränderungen in AWS Step Functions.

CloudTrail erfasst alle API-Aufrufe für Step Functions als Ereignisse, einschließlich Aufrufe von der Step Functions-Konsole und von Codeaufrufen zu den Step Functions-APIs. Step Functions unterstützt auch CloudWatch Events verwaltete Regeln für jeden integrierten Service in Ihrem Arbeitsablauf und erstellt und verwaltet CloudWatch Events-Regeln in Ihrem AWS-Konto nach Bedarf.

Weitere Informationen finden Sie unter Überwachung und Protokollierung in der Anleitung für Entwickler von Step Functions.

Standardmäßig berichten Express-Workflows alle Ergebnisse an CloudWatch Logs, einschließlich der Workflow-Eingabe, -Ausgabe und abgeschlossenen Schritte. Sie können verschiedene Ebenen der Protokollierung wählen, um nur Fehler zu protokollieren, und Sie können wählen, ob Sie die Ein- und Ausgabe nicht protokollieren möchten. Workflows, die Wiederholungsversuche durchführen oder eine nicht verwaltete Ausnahme haben, sollten vom Anfang erneut ausgeführt werden.

Step Functions hat eine optimierte Integration mit Amazonas-Felsen. Sie können die Basismodellen von Bedrock direkt aus dem Workflow Ihrer Step Functions in natürlicher Sprache aufrufen. Dies gibt Ihnen die Möglichkeit:   

  • Bereichern Sie Ihre von Step Functions verarbeiteten Daten mit generativen KI-Funktionen, um die Komplexität der Verarbeitung Ihrer Daten zu reduzieren, z. B. durch Textzusammenfassung, Bildgenerierung oder Personalisierung.
  • Rufen Sie Informationen aus Datenbanken ab, z. B. Ihre neuesten Produktpreise und Benutzerpersonalisierungsdaten, und verwenden Sie die systemeigenen Funktionen von Step Functions, um sie in die Eingabeaufforderung einzufügen. So stellen Sie sicher, dass das LLM die aktuellsten Daten verwendet, um die Genauigkeit der Antwort zu verbessern.
  • Generieren Sie Einbettungen, indem Sie Step Functions Dokumente durchgehen lassen, Daten extrahieren, die Dokumente in Abschnitte unterteilen und dann die Daten in einem mehrstufigen Prozess vom digitalen Text in das Einbetten umwandeln. Dies kann als wiederkehrender Prozess geplant werden.
  • Verwenden Sie Step-Function-Workflows für die Prompt-Verkettung. Sie können mehrere LLM-Aufrufe orchestrieren und für jede Phase der Kette das beste Modell auswählen, um eine benutzerdefinierte Kette von Verarbeitungsphasen zu bilden und kontextuellere und genauere Antworten aus dem Basismodell zu kuratieren.
  • Entwickeln Sie Human-in-the-Loop-Interaktionen (HITL) mit Ihrem generativen KI-Workflow, um Antworten zu moderieren, um Halluzination zu vermeiden, oder bauen Sie Logik ein, um Antworten zu behandeln, die vom Basismodell nicht unterstützt werden.

Sicherheit

Step Functions unterstützt auch VPC-Endpunkte (VPCE) mit AWS PrivateLink. Sie können auf die Step Functions von VPC-fähigen AWS Lambda-Funktionen und anderen AWS-Diensten zugreifen, ohne das öffentliche Internet zu durchqueren.

Weitere Informationen finden Sie in der Amazon VPC Endpunkte für Step Functions im Entwicklerhandbuch für Step Functions.

Compliance

Step Functions ist konform mit HIPAA, FedRAMP, SOC, DSGVO und anderen gängigen Compliance-Standards. Siehe die AWS Cloud-Sicherheit um eine detaillierte Liste der unterstützten Konformitätsstandards zu erhalten.