Scelta del tipo di flusso di lavoro in Step Functions - AWS Step Functions

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à.

Scelta del tipo di flusso di lavoro in Step Functions

Quando si crea una macchina a stati, si seleziona un tipo Standard o Express. Il tipo predefinito per le macchine a stati è Standard. Una macchina a stati il cui tipo è Standard viene denominata flusso di lavoro Standard e una macchina a stati il cui tipo è Express è denominata flusso di lavoro Express.

Sia per i flussi di lavoro Standard che Express, si definisce la macchina a stati utilizzando ilUtilizzo di Amazon States Language per definire i flussi di lavoro Step Functions. Le esecuzioni delle macchine a stati si comporteranno in modo diverso a seconda del tipo selezionato.

Importante

Il tipo di flusso di lavoro scelto non può essere modificato dopo aver creato la macchina a stati.

I flussi di lavoro Standard ed Express possono essere avviati automaticamente in risposta a eventi come HTTP richieste da Amazon API Gateway (completamente gestito APIs su larga scala), regole IoT e oltre 140 altre fonti di eventi in Amazon. EventBridge

I flussi di lavoro standard sono ideali per flussi di lavoro di lunga durata (fino a un anno), durevoli e verificabili. Puoi recuperare la cronologia completa delle esecuzioni utilizzando Step Functions API per un massimo di 90 giorni dopo il completamento dell'esecuzione. I flussi di lavoro standard seguono un modello che prevede l'esecuzione di operazioni eseguite una sola volta, in cui le attività e gli stati non vengono mai eseguiti più di una volta, a meno che non sia stato specificato un comportamento in. Retry ASL Ciò rende i flussi di lavoro standard adatti a orchestrare azioni non idempotenti, come l'avvio di un cluster Amazon o l'elaborazione dei pagamenti. EMR Le esecuzioni dei flussi di lavoro standard vengono fatturate in base al numero di transizioni di stato elaborate.

I flussi di lavoro Express sono ideali per carichi di lavoro di elaborazione di eventi ad alto volume come l'ingestione di dati IoT, l'elaborazione e la trasformazione dei dati in streaming e i backend di applicazioni mobili. L'esecuzione può durare fino a cinque minuti. Express Workflows utilizza un at-least-oncemodello, in cui un'esecuzione potrebbe potenzialmente essere eseguita più di una volta. Ciò rende Express Workflows ideale per orchestrare azioni idempotenti come la trasformazione dei dati di input e l'archiviazione tramite un'azione in Amazon DynamoDB. PUT Le esecuzioni Express Workflow vengono fatturate in base al numero di esecuzioni, alla durata totale dell'esecuzione e alla memoria consumata durante l'esecuzione.

Suggerimento

Per distribuire un esempio di flusso di lavoro Express, consulta Parallel State in The Workshop. AWS Step Functions

Confronto tra i tipi di flusso di lavoro Standard ed Express

Tipo/Categoria Flussi di lavoro Standard Flussi di lavoro rapidi: sincroni e asincroni
Durata massima Un anno Cinque minuti
Frequenza di avvio dell'esecuzione supportata

Per informazioni sulle quote relative alla frequenza di avvio dell'esecuzione supportata, vedereQuote relative alla limitazione delle API azioni.

Per informazioni sulle quote relative alla frequenza di avvio dell'esecuzione supportata, vedere. Quote relative alla limitazione delle API azioni

Frequenza di transizione dello stato supportata

Per informazioni sulle quote relative alla velocità di transizione degli stati supportata, vedere. Quote relative alla limitazione statale

Nessun limite
Prezzi Prezzo in base al numero di transizioni di stato. Una transizione di stato viene conteggiata ogni volta che viene completata una fase dell'esecuzione. Il prezzo è calcolato in base al numero di esecuzioni eseguite, alla loro durata e al consumo di memoria.
Cronologia delle esecuzioni

Le esecuzioni possono essere elencate e descritte con Step FunctionsAPIs. Le esecuzioni possono essere sottoposte a debug visivi tramite la console. Possono anche essere ispezionate in CloudWatch Logs abilitando la registrazione sulla macchina a stati.

Per ulteriori informazioni sul debug delle esecuzioni Standard Workflow nella console, consulta e. Visualizzazione dei dettagli sull'esecuzione del flusso di lavoro in Step Functions Visualizzazione ed esecuzione del debug delle esecuzioni

Cronologia di esecuzione illimitata, ovvero vengono mantenute tutte le voci della cronologia di esecuzione che è possibile generare in un periodo di 5 minuti.

Le esecuzioni possono essere controllate in CloudWatch Logs o nella console Step Functions abilitando la registrazione sulla macchina a stati.

Per ulteriori informazioni sul debug delle esecuzioni di Express Workflow nella console, consulta e. Visualizzazione dei dettagli sull'esecuzione del flusso di lavoro in Step Functions Visualizzazione ed esecuzione del debug delle esecuzioni

Semantica di esecuzione Esecuzione del flusso di lavoro esattamente una volta.

Flussi di lavoro Express asincroni: esecuzione di un flusso di lavoro. t-least-once

Flussi di lavoro Synchronous Express: esecuzione di un flusso di lavoro. t-most-once

Integrazioni dei servizi Supporta tutte le integrazioni e i modelli di servizi. Supporta tutte le integrazioni di servizi.
Nota

I flussi di lavoro Express non supportano i modelli di integrazione dei servizi Job-run (.sync) o Callback (.waitForTaskToken).

Attività Supportato Non supportato

Flussi di lavoro Express sincroni e asincroni in Step Functions

È possibile scegliere tra due tipi di flussi di lavoro Express: flussi di lavoro Express asincroni e flussi di lavoro Express sincroni.

  • I flussi di lavoro Asynchronous Express confermano che il flusso di lavoro è stato avviato, ma non aspettate il completamento del flusso di lavoro. Per ottenere il risultato, è necessario eseguire il polling dei log del servizio. CloudWatch Puoi utilizzare Asynchronous Express Workflows quando non hai bisogno di un output di risposta immediato, come i servizi di messaggistica o l'elaborazione dei dati da cui altri servizi non dipendono. È possibile avviare Asynchronous Express Workflows in risposta a un evento, tramite un flusso di lavoro annidato in Step Functions o utilizzando la chiamata. StartExecution API

  • Synchronous Express Workflows avvia un flusso di lavoro, attende il completamento e quindi restituisce il risultato. I flussi di lavoro Synchronous Express possono essere utilizzati per orchestrare i microservizi. Con Synchronous Express Workflows, puoi sviluppare applicazioni senza la necessità di sviluppare codice aggiuntivo per gestire errori, tentativi o eseguire attività parallele. Puoi eseguire Synchronous Express Workflows richiamati da Amazon API Gateway o utilizzando la chiamata. AWS LambdaStartSyncExecution API

    Nota

    Se esegui Step Functions Express Workflows in modo sincrono dalla console, la StartSyncExecution richiesta scade dopo 60 secondi. Per eseguire Express Workflows in modo sincrono per una durata massima di cinque minuti, effettua la StartSyncExecution richiesta utilizzando AWS SDK o AWS Command Line Interface (AWS CLI) anziché la console Step Functions.

    APILe chiamate di esecuzione sincrone di Express non contribuiscono ai limiti di capacità degli account esistenti. Step Functions fornisce capacità su richiesta e si ridimensiona automaticamente con un carico di lavoro sostenuto. I picchi di carico di lavoro possono essere limitati fino a quando la capacità non sarà disponibile.

Garanzie di esecuzione nei flussi di lavoro Step Functions

Flussi di lavoro Standard Flussi di lavoro Express asincroni Flussi di lavoro Express sincroni
Esecuzione del flusso di lavoro esattamente una volta Un'esecuzione del flusso di lavoro t-least-once Un'esecuzione t-most-once del flusso di lavoro
Lo stato di esecuzione persiste internamente tra le transizioni di stato. Lo stato di esecuzione non persiste tra le transizioni di stato. Lo stato di esecuzione non persiste tra le transizioni di stato.
Restituisce automaticamente una risposta idempotente all'avvio di un'esecuzione con lo stesso nome di un workflow attualmente in esecuzione. Il nuovo flusso di lavoro non si avvia e viene generata un'eccezione una volta completato il flusso di lavoro attualmente in esecuzione. L'idempotenza non viene gestita automaticamente. L'avvio di più flussi di lavoro con lo stesso nome comporta esecuzioni simultanee. Può causare la perdita dello stato interno del flusso di lavoro se la logica della macchina a stati non è idempotente. L'idempotenza non viene gestita automaticamente. Step Functions attende l'avvio di un'esecuzione e restituisce il risultato della macchina a stati al termine. I flussi di lavoro non si riavviano se si verifica un'eccezione.

Dati della cronologia di esecuzione rimossi dopo 90 giorni. I nomi dei flussi di lavoro possono essere riutilizzati dopo la rimozione dei dati di out-of-date esecuzione.

Per soddisfare i requisiti di conformità, organizzativi o normativi, è possibile ridurre il periodo di conservazione della cronologia di esecuzione a 30 giorni inviando una richiesta di quota. A tale scopo, utilizza AWS Support Center Console e crea un nuovo caso.

La cronologia delle esecuzioni non viene acquisita da Step Functions. La registrazione deve essere abilitata tramite Amazon CloudWatch Logs. La cronologia delle esecuzioni non viene acquisita da Step Functions. La registrazione deve essere abilitata tramite Amazon CloudWatch Logs.