Stato del flusso di lavoro della mappa - 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à.

Stato del flusso di lavoro della mappa

Utilizzate lo Map stato per eseguire una serie di passaggi del flusso di lavoro per ogni elemento di un set di dati. Le iterazioni Map dello stato vengono eseguite in parallelo, il che rende possibile elaborare rapidamente un set di dati. Mapgli stati possono utilizzare diversi tipi di input, tra cui un JSON array, un elenco di oggetti Amazon S3 o un CSV file.

Step Functions offre due tipi di modalità di elaborazione per l'utilizzo dello Map stato nei flussi di lavoro: modalità Inline e modalità Distributed.

Suggerimento

Per implementare un esempio di flusso di lavoro che utilizza uno Map stato nel Account AWS, vedi Modulo 5 - Choice State e Map State of The AWS Step Functions Workshop.

Modalità di elaborazione dello stato della mappa

Step Functions fornisce le seguenti modalità di elaborazione per lo Map stato, a seconda di come si desidera elaborare gli elementi in un set di dati.

  • Inline: modalità a concorrenza limitata. In questa modalità, ogni iterazione dello Map stato viene eseguita nel contesto del flusso di lavoro che contiene lo stato. Map Step Functions aggiunge la cronologia di esecuzione di queste iterazioni alla cronologia di esecuzione del flusso di lavoro principale. Per impostazione predefinita, Map gli stati vengono eseguiti in modalità Inline.

    In questa modalità, lo Map stato accetta solo un JSON array come input. Inoltre, questa modalità supporta fino a 40 iterazioni simultanee.

    Per ulteriori informazioni, consulta Utilizzo dello stato della mappa in modalità Inline nei flussi di lavoro Step Functions.

  • Distribuita: modalità ad alta concorrenza. In questa modalità, lo Map stato esegue ogni iterazione come esecuzione di workflow secondario, il che consente un'elevata concorrenza di un massimo di 10.000 esecuzioni parallele di workflow secondari. Ogni esecuzione del flusso di lavoro secondario ha una propria cronologia di esecuzione separata da quella del flusso di lavoro principale.

    In questa modalità, lo Map stato può accettare come JSON input un array o un'origine dati Amazon S3, ad esempio un CSV file.

    Per ulteriori informazioni, consulta Modalità distribuita.

La modalità da utilizzare dipende da come si desidera elaborare gli elementi in un set di dati. Utilizzate lo Map stato in modalità Inline se la cronologia di esecuzione del flusso di lavoro non supera le 25.000 voci o se non sono necessarie più di 40 iterazioni simultanee.

Usa lo Map stato in modalità Distribuita quando devi orchestrare carichi di lavoro paralleli su larga scala che soddisfano qualsiasi combinazione delle seguenti condizioni:

  • La dimensione del set di dati supera i 256 KB.

  • La cronologia degli eventi di esecuzione del flusso di lavoro supera le 25.000 voci.

  • È necessaria una concorrenza di più di 40 iterazioni parallele.

Differenze tra modalità in linea e modalità distribuita

La tabella seguente evidenzia le differenze tra le modalità Inline e Distributed.

Modalità in linea Modalità distribuita
Supported data sources

Accetta come input un JSON array passato da una fase precedente del flusso di lavoro.

Accetta le seguenti fonti di dati come input:

  • JSONmatrice passata da una fase precedente del flusso di lavoro

  • JSONfile in un bucket Amazon S3 che contiene un array

  • CSVfile in un bucket Amazon S3

  • Elenco oggetti Amazon S3

  • Inventario Amazon S3

Map iterations

In questa modalità, ogni iterazione dello Map stato viene eseguita nel contesto del flusso di lavoro che contiene lo Map stato. Step Functions aggiunge la cronologia di esecuzione di queste iterazioni alla cronologia di esecuzione del flusso di lavoro principale.

In questa modalità, lo Map stato esegue ogni iterazione come esecuzione di workflow secondario, il che consente un'elevata concorrenza di un massimo di 10.000 esecuzioni parallele di workflow secondari. Ogni esecuzione del flusso di lavoro secondario ha una propria cronologia di esecuzione separata da quella del flusso di lavoro principale.

Maximum concurrency for parallel iterations

Consente di eseguire fino a 40 iterazioni il più contemporaneamente possibile.

Consente di eseguire fino a 10.000 esecuzioni parallele di flussi di lavoro secondari per elaborare milioni di elementi di dati contemporaneamente.

Input payload and event history sizes

Implica un limite di 256 KB alla dimensione del payload di input e 25.000 voci nella cronologia degli eventi di esecuzione.

Consente di superare la limitazione delle dimensioni del payload perché Map lo stato può leggere l'input direttamente dalle fonti di dati Amazon S3.

In questa modalità, puoi anche superare i limiti della cronologia di esecuzione, poiché le esecuzioni dei flussi di lavoro secondari avviate dallo Map stato mantengono le proprie cronologie di esecuzione separate dalla cronologia di esecuzione del flusso di lavoro principale.

Monitoring and observability

È possibile rivedere la cronologia di esecuzione del flusso di lavoro dalla console o richiamando l'azione. GetExecutionHistory API

È inoltre possibile visualizzare la cronologia delle esecuzioni tramite CloudWatch X-Ray.

Quando si esegue uno Map stato in modalità Distribuita, Step Functions crea una risorsa Map Run. Un Map Run si riferisce a un insieme di esecuzioni di workflow secondarie avviate da uno stato di Distributed Map. È possibile visualizzare un Map Run nella console Step Functions. Puoi anche richiamare l'DescribeMapRunAPIazione. Un Map Run emette anche metriche per. CloudWatch

Per ulteriori informazioni, consulta Visualizzazione di un'esecuzione di una mappa distribuita in Step Functions.