Modalità di elaborazione dello stato 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à.

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 array JSON come input. Inoltre, questa modalità supporta fino a 40 iterazioni simultanee.

    Per ulteriori informazioni, consulta Utilizzo dello stato della mappa in modalità Inline.

  • 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 input un array JSON o un'origine dati Amazon S3, ad esempio un file CSV.

    Per ulteriori informazioni, consulta Utilizzo dello stato della mappa in 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 array JSON passato da una fase precedente del flusso di lavoro.

Accetta le seguenti fonti di dati come input:

  • Array JSON passato da un passaggio precedente del flusso di lavoro

  • File JSON in un bucket Amazon S3 che contiene un array

  • File CSV in un bucket Amazon S3

  • Elenco di 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 dell'GetExecutionHistoryAPI.

È 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'azione DescribeMapRun API. Un Map Run emette anche metriche per. CloudWatch

Per ulteriori informazioni, consulta Esame dell'esecuzione dello stato di una mappa distribuita in esecuzione.