

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
<a name="flows-create-async"></a>

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'[InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html)operazione, il flusso viene eseguito fino al termine o al timeout di 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
<a name="flows-create-async-permissions"></a>
+ Assicurati che il tuo ruolo di servizio di Amazon Bedrock Flows disponga di tutte le autorizzazioni necessarie. Per ulteriori informazioni, consulta [Creare un ruolo di servizio per Amazon Bedrock Flows in Amazon Bedrock](flows-permissions.md).
+ (Facoltativo) Crittografa i dati di esecuzione del flusso con una chiave gestita dal cliente. AWS KMS Per ulteriori informazioni, consulta [Crittografia delle risorse Amazon Bedrock Flows](encryption-flows.md).

## Creare e gestire l’esecuzione di un flusso
<a name="flows-create-async-how-to"></a>

È possibile creare un'esecuzione del flusso nella console o utilizzando l'[StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html)operazione.

------
#### [ Console ]

1. Crea un flusso seguendo le istruzioni riportate in [Creare e progettare un flusso in Amazon Bedrock](flows-create.md).

1. Crea un alias per il flusso seguendo le istruzioni riportate in [Creare un alias di un flusso in Amazon Bedrock](flows-alias-create.md).

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

   1. Accedi a Console di gestione AWS con un'identità IAM che dispone delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock in [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

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

1. Scegli la scheda **Esecuzioni**, quindi scegli **Crea esecuzione**. 

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

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

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

   1. Per **Prompt rapido**, inserisci il prompt con cui desideri avviare il flusso.

   1. Scegli **Crea** per creare l’esecuzione del flusso e iniziare a eseguirlo.

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

1. (Facoltativo) Scegli un’esecuzione per aprire il flusso e visualizzare il riepilogo dell’esecuzione.

   Nell’**Output di esecuzione**, si visualizza l’output del flusso.

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

------
#### [ API ]

**Avviare l’esecuzione di un flusso**  
Per eseguire l'esecuzione di un flusso, invia una [StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html)richiesta con un [endpoint di runtime Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt). 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](flows-nodes.md#flows-nodes-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**  
Utilizzate l'[GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html)operazione per ottenere lo stato corrente di un flusso identificato dal 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](flows-nodes.md#flows-nodes-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 degli eventi di output dall'esecuzione del flusso, effettuate una chiamata a [ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html). 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 facilitare il debug dell'esecuzione del flusso, puoi utilizzare l'[ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html)operazione per visualizzare gli eventi generati dai nodi mentre il flusso è in esecuzione. 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 istantanea, chiamate l'operazione. [GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html) La risposta include i seguenti campi del flusso:
+ **customerEncryptionKeyArn**: l'ARN della chiave che crittografa AWS KMS il flusso.
+ **definition**: la [definizione](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowDefinition.html) 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 esecuzioni dei flussi**  
È possibile ottenere un elenco delle esecuzioni del flusso chiamando l'[ListFlowExecutions](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutions.html)operazione. 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. 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 devi interrompere l'esecuzione di un flusso in esecuzione, chiama l'[StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html)operazione 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
<a name="flows-async-statuses"></a>

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.
+ **TimedOut**— L'esecuzione del flusso ha superato la durata massima di 24 ore.
+ **Interrotta**: l'esecuzione del flusso è stata interrotta manualmente utilizzando l'[StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html)operazione.

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

## Best practice per l’esecuzione di un flusso
<a name="flows-async-best-practices"></a>

Durante l’utilizzo di esecuzioni di un flusso, valuta le seguenti informazioni:
+ Esegui regolarmente il polling dello stato di esecuzione del flusso [GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html)fino a quando il flusso non raggiunge uno stato terminale (che è qualcosa di diverso`Running`).
+ Quando l'esecuzione del flusso raggiunge uno stato terminale, [ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html)usala per ottenere i risultati del flusso. Ad esempio, puoi utilizzare questi risultati per creare una logica attorno al flusso.
+ Ottieni un'istantanea dell'esecuzione del flusso, utilizzandola [GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html)per facilitare il debug in caso di problemi durante l'esecuzione.