Eseguire flussi di Amazon Bedrock in modo asincrono con le esecuzioni del flusso - 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à.

Eseguire flussi di Amazon Bedrock in modo asincrono con le esecuzioni del flusso

Con le esecuzioni dei flussi, puoi eseguire i flussi di Amazon Bedrock in modo asincrono. Ciò consente ai flussi di durare più a lungo e anche di controllare il rendimento in modo che l’applicazione possa eseguire altre attività.

Quando esegui un flusso utilizzando la console Amazon Bedrock o con l’operazione InvokeFlow, il flusso viene eseguito fino al termine o si interrompe dopo un’ora (a seconda dell’evento che si verifica per primo). Quando effettui l’esecuzione di un 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

La valutazione del modello è in fase di anteprima per Amazon Bedrock ed è soggetta a modifica.

Autorizzazioni richieste per effettuare le esecuzioni dei flussi

Creare e gestire l’esecuzione di un flusso

È possibile creare l’esecuzione di un flusso nella console o utilizzando l’operazione StartFlowExecution.

Console
  1. Crea un flusso seguendo le istruzioni riportate in Creare e progettare un flusso in Amazon Bedrock.

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

  3. Se non sei già nel Generatore di flussi, procedi come segue:

    1. Accedi alla Console di gestione AWS con un’identità IAM che disponga delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock all’indirizzo https://console.aws.amazon.com/bedrock.

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

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

  5. Nella finestra di dialogo Crea esecuzione, immetti quanto segue:

    1. In Nome, immetti un nome per l’esecuzione del flusso.

    2. In Seleziona alias, scegli l’alias del flusso che desideri utilizzare.

    3. Per Prompt rapido, 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, si visualizza l’output del flusso.

  8. (Facoltativo) Per interrompere l’esecuzione di un flusso, seleziona l’esecuzione e scegli Arresta.

API
Avviare l’esecuzione di un flusso

Per effettuare un’esecuzione di un flusso, invia una richiesta StartFlowExecution con un endpoint di runtime Agent per 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 desideri che il flusso inizi a funzionare. Specifica l’input da inviare al nodo di input del flusso del prompt nel campo content.

  • name: un nome per l’esecuzione del flusso.

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

La risposta è il nome della risorsa Amazon (ARN) dell’esecuzione del flusso. Puoi usare executionArn per verificare lo stato corrente del flusso, ad esempio quando termina l’esecuzione del flusso o quando un nodo di condizione 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

Usa l’operazione GetFlowExecution per ottenere lo stato corrente di un flusso identificato tramite il relativo ARN di esecuzione. Lo stato di un flusso è Running, Succeeded, Failed, TimedOut o Aborted.

{ "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’array errors come nell’esempio seguente:

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Ottenere 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 dopo aver 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 campo status nella risposta sia Succeeded.

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

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

È possibile limitare l’output ListFlowExecutions ai soli nodi di input e output impostando il parametro di query eventType su Flow.

Visualizzazione di eventi

Per agevolare il debug dell’esecuzione del flusso, è possibile utilizzare l’operazione ListFlowExecutionEvents per vedere gli eventi generati dai nodi durante l’esecuzione del flusso. Imposta il parametro di query eventType su Node per vedere 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" } } ] }
Ottenere un’istantanea dell’esecuzione del flusso

Amazon Bedrock scatta automaticamente una snapshot della definizione di flusso e dei metadati all’avvio dell’esecuzione del flusso. Questo fa sì che un flusso possa essere aggiornato mentre è in esecuzione in modo asincrono. Per recuperare questa snapshot, chiama l’operazione GetExecutionFlowSnapshot. La risposta include i seguenti campi del flusso:

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

  • definition: la definizione del flusso.

  • executionRoleArn: l’ARN del ruolo di 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 esecuzioni dei flussi

È possibile ottenere un elenco delle esecuzioni del flusso chiamando l’operazione ListFlowExecutions. La risposta include un array flowExecutionSummaries con informazioni su ciascuna delle esecuzioni di flusso nella Regione AWS corrente per un flusso o un alias di un flusso. Ciascun 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" }] }
Interrompere l’esecuzione di un flusso in esecuzione

Se è necessario interrompere l’esecuzione di un flusso in esecuzione, chiama l’operazione StopFlowExecution e passa 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

L’esecuzione di un flusso può avere uno dei seguenti stati:

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

  • Riuscito: l’esecuzione del flusso è stata completata correttamente.

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

  • Scaduto: l’esecuzione del flusso ha superato il runtime massimo di 24 ore.

  • Interrotto: l’esecuzione del flusso è stata interrotta manualmente utilizzando l’operazione StopFlowExecution.

Le esecuzioni di un flusso non più attive vengono eliminate automaticamente dopo 90 giorni.

Best practice per l’esecuzione di un flusso

Durante l’utilizzo di esecuzioni di un flusso, valuta le seguenti informazioni:

  • Verifica regolarmente lo stato di esecuzione del flusso utilizzando GetFlowExecution finché il flusso non raggiunge uno stato terminale (diverso da Running).

  • Quando l’esecuzione del flusso raggiunge uno stato terminale, utilizza ListFlowExecutionEvents per ottenere i risultati del flusso. Ad esempio, puoi utilizzare questi risultati per creare una logica attorno al flusso.

  • Ottieni una snapshot dell’esecuzione del flusso utilizzando GetExecutionFlowSnapshot per agevolare il debug in caso di problemi durante l’esecuzione.