Asynchrone Ausführung von Amazon Bedrock-Flows mit Flow-Ausführungen - Amazon Bedrock

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.

Asynchrone Ausführung von Amazon Bedrock-Flows mit Flow-Ausführungen

Mit Flow-Ausführungen können Sie Amazon Bedrock-Flows asynchron ausführen. Auf diese Weise können Ihre Flows über einen längeren Zeitraum ausgeführt werden und Sie behalten gleichzeitig die Kontrolle, sodass Ihre Anwendung andere Aufgaben ausführen kann.

Wenn Sie einen Flow mithilfe der Amazon Bedrock-Konsole oder mit dem InvokeFlowVorgang ausführen, wird der Flow ausgeführt, bis er abgeschlossen ist oder das Timeout nach einer Stunde abläuft (je nachdem, was zuerst eintritt). Wenn Sie eine Flow-Ausführung ausführen, kann Ihr Flow viel länger laufen: Einzelne Knoten können bis zu fünf Minuten laufen, und Ihr gesamter Flow kann bis zu 24 Stunden lang laufen.

Anmerkung

Flow Executions befindet sich in der Vorschauversion für Amazon Bedrock und kann sich ändern.

Erforderliche Berechtigungen für die Ausführung von Flow-Ausführungen

Erstellen und verwalten Sie eine Flow-Ausführung

Sie können eine Flow-Ausführung in der Konsole oder mithilfe der StartFlowExecutionOperation erstellen.

Console
  1. Erstellen Sie einen Flow, indem Sie den Anweisungen unter folgenErstellen und gestalten Sie einen Flow in Amazon Bedrock.

  2. Erstellen Sie einen Alias für den Flow, indem Sie den Anweisungen unter folgenErstellen Sie einen Alias für einen Flow in Amazon Bedrock.

  3. Wenn Sie sich noch nicht im Flow Builder befinden, gehen Sie wie folgt vor:

    1. Melden Sie sich bei der Rolle AWS Management Console Using an IAM mit Amazon Bedrock-Berechtigungen an und öffnen Sie die Amazon Bedrock-Konsole unter Getting Started with the. AWS Management Console

    2. Wählen Sie im linken Navigationsbereich Amazon Bedrock Flows und dann Ihren Flow aus.

  4. Wählen Sie die Registerkarte Ausführungen und dann Ausführung erstellen.

  5. Geben Sie im Dialogfeld „Ausführung erstellen“ Folgendes ein

    1. Geben Sie unter Name einen Namen für die Flow-Ausführung ein.

    2. Wählen Sie unter Alias auswählen den Alias des Flows aus, den Sie verwenden möchten.

    3. Geben Sie unter Eingabeaufforderung die Aufforderung ein, mit der Sie den Flow starten möchten.

    4. Wählen Sie Erstellen aus, um die Flow-Ausführung zu erstellen und mit ihrer Ausführung zu beginnen.

  6. Wählen Sie auf der Seite mit den Flow-Details die Registerkarte Ausführungen und notieren Sie sich den Status der Flow-Ausführung unter Ausführungsstatus.

  7. (Optional) Wählen Sie eine Ausführung aus, um den Flow zu öffnen und die Zusammenfassung der Ausführung anzuzeigen.

    Unter Ausführungsausgabe sehen Sie die Ausgabe des Flows.

  8. (Optional) Um eine Flow-Ausführung zu beenden, wählen Sie die Ausführung aus und klicken Sie auf Stopp.

API
Starten Sie eine Flow-Ausführung

Um eine Flow-Ausführung auszuführen, senden Sie eine StartFlowExecutionAnfrage mit einem Runtime-Endpunkt von Agents for Amazon Bedrock. Geben Sie in der Anfrage die Flow-ID und die Flow-Alias-ID des Flows an, den Sie ausführen möchten. Sie können auch Folgendes angeben:

  • Eingaben — Ein Array, das den Eingabeknoten enthält, von dem aus der Flow ausgeführt werden soll. Sie geben im content Feld die Eingabe an, die an den Eingabeknoten für den Prompt-Flow gesendet werden soll.

  • name — Ein Name für die Flow-Ausführung.

{ "inputs": [{ "nodeName": "FlowInputNode", "nodeOutputName": "document", "content": { "document": "Test" } }], "name": "MyExecution" }

Die Antwort ist der Amazon-Ressourcenname (ARN) der Flow-Ausführung. Sie können den verwendenexecutionArn, um den aktuellen Status des Flows abzufragen, z. B. wenn die Flow-Ausführung abgeschlossen ist oder ein Bedingungsknoten seine Bedingungen auswertet.

{ "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution" }
Verfolgen Sie den Fortschritt einer Flow-Ausführung

Verwenden Sie den GetFlowExecutionVorgang, um den aktuellen Status eines Flows abzurufen, den Sie anhand seines Ausführungs-ARN identifizieren. Ein Flow-Status ist entweder RunningSucceeded,Failed,TimedOut, oderAborted.

{ "endedAt": null, "errors": null, "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT", "startedAt": "2025-03-20T23:32:28.899221162Z", "status": "Running" }

Fehler (z. B. ein Lambda-Knoten, dessen Timeout auftritt) werden im errors Array wie im folgenden Beispiel zurückgegeben:

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Ruft die Ergebnisse einer Flow-Ausführung ab

Amazon Bedrock schreibt die Ausgaben eines Flows in die Ausgabeknoten des Flows. Sie können die Ausgaben abrufen, sobald der Flow abgeschlossen ist oder während der Flow läuft (abhängig von Ihrem Anwendungsfall).

Wenn Sie möchten, dass der Flow zuerst abgeschlossen wird, rufen Sie an GetFlowExecution und stellen Sie sicher, dass der Wert des status Felds in der Succeeded Antwort

Rufen Sie auf, um eine Liste der Ausgabeereignisse der Flow-Ausführung abzurufen ListFlowExecutionEvents. Suchen Sie in der Antwort nach flowOutputEvent Objekten inflowExecutionEvents. Sie können beispielsweise die Ausgabe eines Flows in dem content Feld abrufen:

{ "flowOutputEvent": { "content": { "document": "The model response." }, "nodeName": "FlowOutputNode" } }

Sie können die Ausgabe von nur ListFlowExecutions auf Eingabe- und Ausgabeknoten beschränken, indem Sie den eventType Abfrageparameter auf setzenFlow.

Anzeigen von Ereignissen

Um Ihnen das Debuggen Ihrer Flow-Ausführung zu erleichtern, können Sie den ListFlowExecutionEventsVorgang verwenden, um Ereignisse anzuzeigen, die Knoten während der Ausführung des Flows generieren. Legen Sie den eventType Abfrageparameter auf fest, Node um die Eingaben und Ausgaben aller Knoten (einschließlich Zwischenknoten) in der Antwort anzuzeigen, die dem folgenden Beispiel ähnelt:

{ "flowExecutionEvents": [{ "nodeOutputEvent": { "fields": [{ "content": { "document": "History book" }, "name": "document" }], "nodeName": "FlowInputNode", "timestamp": "2025-05-05T18:38:56.637867516Z" } }, { "nodeInputEvent": { "fields": [{ "content": { "document": "History book" }, "name": "book" }], "nodeName": "Prompt_1", "timestamp": "2025-05-05T18:38:57.434600163Z" } }, { "nodeOutputEvent": { "fields": [{ "content": { "document": "Here's a summary of the history book." }, "name": "modelCompletion" }], "nodeName": "Prompt_1", "timestamp": "2025-05-05T18:39:06.034157077Z" } }, { "nodeInputEvent": { "fields": [{ "content": { "document": "Here's a summary of the history book." }, "name": "document" }], "nodeName": "FlowOutputNode", "timestamp": "2025-05-05T18:39:06.453128251Z" } } ] }
Machen Sie sich einen Überblick über Ihre Flow-Ausführung

Amazon Bedrock erstellt automatisch einen Snapshot einer Flow-Definition und Metadaten, wenn eine Flow-Ausführung gestartet wird. Dies ist hilfreich, da ein Flow aktualisiert werden kann, während er asynchron ausgeführt wird. Rufen Sie den GetExecutionFlowSnapshotVorgang auf, um diesen Snapshot abzurufen. Die Antwort umfasst die folgenden Flow-Felder:

  • customerEncryptionKeyArn — Der ARN des AWS KMS Schlüssels, der den Flow verschlüsselt.

  • Definition — Die Definition des Flusses.

  • executionRoleArn— Der ARN der IAM-Dienstrolle, die von der Flow-Ausführung verwendet wird.

  • flowAliasIdentifier— Die Alias-ID des Flows.

  • FlowIdentifier — Die ID des Flows.

  • flowVersion — Die Version des Flows.

{ "customerEncryptionKeyArn": null, "definition": "{flow-definition}", "executionRoleArn": "arn:aws:iam::111122223333:role/name", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT" }
Listet Ihre Flow-Ausführungen auf

Sie können eine Liste Ihrer Flow-Ausführungen abrufen, indem Sie die ListFlowExecutionsOperation aufrufen. Die Antwort enthält ein flowExecutionSummaries Array mit Informationen zu jeder Ihrer aktuellen Flow-Ausführungen AWS-Region für einen Flow oder Flow-Alias. Jedes Element enthält Informationen wie den Ausführungs-ARN, die Startzeit und den aktuellen Status des Flows.

{ "flowExecutionSummaries": [{ "createdAt": "2025-03-11T23:21:02.875598966Z", "endedAt": null, "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT", "status": "Running" }] }
Stoppt eine laufende Flow-Ausführung

Wenn Sie eine laufende Flow-Ausführung beenden müssen, rufen Sie den StopFlowExecutionVorgang auf und übergeben Sie die Flow-ID, die Flow-Alias-ID und die Flow-Ausführungs-ID für die Ausführung, die Sie beenden möchten.

Status der Flow-Ausführung

Eine Flow-Ausführung kann einen der folgenden Status haben:

  • Wird ausgeführt — Die Flow-Ausführung ist im Gange.

  • Erfolgreich — Die Flow-Ausführung wurde erfolgreich abgeschlossen.

  • Fehlgeschlagen — Die Flow-Ausführung ist aufgrund eines Fehlers fehlgeschlagen.

  • TimedOut— Die Flow-Ausführung hat die maximale Laufzeit von 24 Stunden überschritten.

  • Abgebrochen — Die Flow-Ausführung wurde mithilfe des StopFlowExecutionVorgangs manuell gestoppt.

Flow-Ausführungen, die nicht mehr ausgeführt werden, werden nach 90 Tagen automatisch gelöscht.

Bewährte Methoden für Flow-Ausführungen

Beachten Sie bei der Verwendung von Flow-Ausführungen Folgendes:

  • Rufen Sie den Status Ihrer Flow-Ausführung regelmäßig ab, GetFlowExecutionbis Ihr Flow einen Terminalstatus erreicht hat (was etwas anderes ist alsRunning).

  • Wenn Ihre Flow-Ausführung einen Terminalstatus erreicht, verwenden Sie diese ListFlowExecutionEventsOption, um die Ergebnisse Ihres Flows abzurufen. Sie könnten diese Ergebnisse beispielsweise verwenden, um Ihrem Flow eine gewisse Logik zu verleihen.

  • Erstellen Sie einen Snapshot Ihrer Flow-Ausführung, GetExecutionFlowSnapshotum Ihnen beim Debuggen zu helfen, falls Probleme bei der Ausführung auftreten.