Esegui i flussi Amazon Bedrock in modo asincrono con esecuzioni di flussi - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui i flussi Amazon Bedrock in modo asincrono con esecuzioni di flussi

Con le esecuzioni di flusso, puoi eseguire i flussi di Amazon Bedrock in modo asincrono. Ciò consente ai flussi di funzionare per periodi più lunghi e inoltre garantisce il controllo in modo che l'applicazione possa eseguire altre attività.

Quando esegui un flusso utilizzando la console Amazon Bedrock o con l'InvokeFlowoperazione, il flusso viene eseguito fino al termine o allo scadere di un'ora (a seconda dell'evento che si verifica per primo). Quando esegui un'esecuzione di flusso, il flusso può durare molto più a lungo: i singoli nodi possono durare fino a cinque minuti e l'intero flusso può durare fino a 24 ore.

Nota

Flow executions è disponibile in anteprima per Amazon Bedrock ed è soggetto a modifiche.

Autorizzazioni richieste per l'esecuzione delle esecuzioni di flusso

Crea e gestisci l'esecuzione di un flusso

È possibile creare un'esecuzione di flusso nella console o utilizzando l'StartFlowExecutionoperazione.

Console
  1. Crea un flusso seguendo le istruzioni riportate all'indirizzoCrea e progetta un flusso in Amazon Bedrock.

  2. Crea un alias per il flusso seguendo le istruzioni riportate inCreare un alias di un flusso in Amazon Bedrock.

  3. Se non sei già nel generatore di Flow, procedi come segue:

    1. Accedi all' AWS Management Console utilizzo di un ruolo IAM con autorizzazioni Amazon Bedrock e apri la console Amazon Bedrock in Getting Started with the. AWS Management Console

    2. Seleziona Amazon Bedrock Flows dal riquadro di navigazione a sinistra, quindi scegli il tuo flusso.

  4. Scegli la scheda Esecuzioni, quindi scegli Crea esecuzione.

  5. Nella finestra di dialogo Crea esecuzione, inserisci quanto segue

    1. Per Nome, inserite un nome per l'esecuzione del flusso.

    2. Per Seleziona alias, scegli l'alias del flusso che desideri utilizzare.

    3. Per Immissione rapida, inserisci il prompt con cui desideri avviare il flusso.

    4. Scegli Crea per creare l'esecuzione del flusso e iniziare a eseguirlo.

  6. Nella pagina dei dettagli del flusso, scegli la scheda Esecuzioni e prendi nota dello stato dell'esecuzione del flusso in Stato di esecuzione.

  7. (Facoltativo) Scegli un'esecuzione per aprire il flusso e visualizzare il riepilogo dell'esecuzione.

    Nell'output di esecuzione, viene visualizzato l'output del flusso.

  8. (Facoltativo) Per interrompere l'esecuzione di un flusso, selezionate l'esecuzione e scegliete Stop.

API
Avvia l'esecuzione di un flusso

Per eseguire l'esecuzione di un flusso, invia una StartFlowExecutionrichiesta con un endpoint di runtime Agents for Amazon Bedrock. Nella richiesta, specifica l'ID del flusso e l'ID dell'alias di flusso del flusso che desideri eseguire. È anche possibile specificare:

  • inputs: un array contenente il nodo di input da cui desiderate che il flusso inizi a funzionare. Specificate l'input da inviare al nodo di input del prompt flow nel content campo.

  • name — Un nome per l'esecuzione del flusso.

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

La risposta è l'Amazon Resource Name (ARN) dell'esecuzione del flusso. Puoi usare executionArn to poll per verificare lo stato corrente del flusso, ad esempio quando termina l'esecuzione del flusso o quando un nodo condizionale ne valuta le condizioni.

{ "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution" }
Tieni traccia dello stato di avanzamento dell'esecuzione di un flusso

Utilizzate l'GetFlowExecutionoperazione per ottenere lo stato corrente di un flusso identificato tramite il relativo ARN di esecuzione. Lo stato di un flusso èRunning,Succeeded, FailedTimedOut, oAborted.

{ "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" }

Gli errori (come un nodo Lambda che scade) vengono restituiti nell'errorsarray come nell'esempio seguente:

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Ottieni i risultati dell'esecuzione di un flusso

Amazon Bedrock scrive gli output di un flusso nei nodi di output del flusso. Puoi ottenere gli output una volta completato il flusso o mentre il flusso è in esecuzione (a seconda del caso d'uso).

Se desideri che il flusso venga completato per primo, effettua una chiamata a GetFlowExecution e assicurati che il valore del status campo nella risposta sia. Succeeded

Per ottenere un elenco degli eventi di output dall'esecuzione del flusso, effettua una chiamata a ListFlowExecutionEvents. Nella risposta, verifica la presenza di flowOutputEvent oggetti inflowExecutionEvents. Ad esempio, puoi ottenere l'output di un flusso nel content campo:

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

È possibile limitare l'output ListFlowExecutions ai soli nodi di input e output impostando il parametro di eventType query suFlow.

Visualizzazione di eventi

Per facilitare il debug dell'esecuzione del flusso, è possibile utilizzare l'ListFlowExecutionEventsoperazione per visualizzare gli eventi generati dai nodi mentre il flusso è in esecuzione. Imposta il parametro di eventType query Node su per visualizzare gli input e gli output di tutti i nodi (compresi i nodi intermedi) nella risposta simile all'esempio seguente:

{ "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" } } ] }
Ottieni un'istantanea dell'esecuzione del flusso

Amazon Bedrock scatta automaticamente un'istantanea della definizione di flusso e dei metadati all'avvio dell'esecuzione del flusso. Ciò è utile in quanto un flusso può essere aggiornato mentre è in esecuzione in modo asincrono. Per recuperare questa istantanea, chiamate l'operazione. GetExecutionFlowSnapshot La risposta include i seguenti campi di flusso:

  • customerEncryptionKeyArn: l'ARN della chiave che crittografa AWS KMS il flusso.

  • definizione: la definizione del flusso.

  • executionRoleArn— L'ARN del ruolo del servizio IAM utilizzato dall'esecuzione del flusso.

  • flowAliasIdentifier— L'ID alias del flusso.

  • flowIdentifier: l'ID del flusso.

  • flowVersion: la versione del flusso.

{ "customerEncryptionKeyArn": null, "definition": "{flow-definition}", "executionRoleArn": "arn:aws:iam::111122223333:role/name", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT" }
Elenca le tue esecuzioni di flusso

È possibile ottenere un elenco delle esecuzioni del flusso chiamando l'ListFlowExecutionsoperazione. La risposta include un flowExecutionSummaries array con informazioni su ciascuna delle esecuzioni di flusso nella corrente Regione AWS per un flusso o un alias di flusso. Ogni elemento include informazioni come l'ARN di esecuzione, l'ora di inizio e lo stato corrente del flusso.

{ "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" }] }
Interrompi l'esecuzione di un flusso in esecuzione

Se devi interrompere l'esecuzione di un flusso in esecuzione, chiama l'StopFlowExecutionoperazione e trasmetti l'ID del flusso, l'ID dell'alias del flusso e l'ID di esecuzione del flusso per l'esecuzione che desideri interrompere.

Stati di esecuzione del flusso

Un'esecuzione di flusso può avere uno dei seguenti stati:

  • In esecuzione: l'esecuzione del flusso è in corso.

  • Riuscita: l'esecuzione del flusso è stata completata correttamente.

  • Non riuscita: l'esecuzione del flusso non è riuscita a causa di un errore.

  • TimedOut— L'esecuzione del flusso ha superato la durata massima di 24 ore.

  • Interrotta: l'esecuzione del flusso è stata interrotta manualmente utilizzando l'StopFlowExecutionoperazione.

Le esecuzioni di flusso che non sono più in esecuzione vengono eliminate automaticamente dopo 90 giorni.

Le migliori pratiche per le esecuzioni di flusso

Considerate quanto segue quando utilizzate le esecuzioni di flusso:

  • Esegui regolarmente il polling dello stato di esecuzione del flusso GetFlowExecutionfino a quando il flusso non raggiunge uno stato terminale (che è qualcosa di diversoRunning).

  • Quando l'esecuzione del flusso raggiunge uno stato terminale, ListFlowExecutionEventsusala per ottenere i risultati del flusso. Ad esempio, potresti utilizzare questi risultati per creare una logica attorno al tuo flusso.

  • Ottieni un'istantanea dell'esecuzione del flusso, utilizzandola GetExecutionFlowSnapshotper facilitare il debug in caso di problemi durante l'esecuzione.