本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
地圖工作流程狀
使用狀Map
態為資料集中的每個項目執行一組工作流程步驟。Map
狀態的反覆項目會 parallel 執行,因此可以快速處理資料集。 Map
狀態可以使用各種輸入類型,包括JSON陣列、Amazon S3 物件清單或CSV檔案。
Step Functions 提供兩種類型的處理模式,可在工作流程中使用Map
狀態:內嵌模式和分散式模式。
提示
若要部署使用Map
狀態的工作流程範例 AWS 帳戶,請參閱模組 5-選擇狀態與對應狀態
對映狀態處理模式
Step Functions 會根據您要如何處理資料集中的項目,提供Map
狀態的下列處理模式。
-
內聯-有限並發模式。在此模式下,狀態的每個版序都會在包含
Map
狀態的工作流程前後關聯中Map
執行。Step Functions 會將這些反覆項目的執行歷程記錄新增至父工作流程的執行歷程記錄。依預設,Map
狀態會以內嵌模式執行。在這種模式下,狀
Map
態只接受一個JSON數組作為輸入。此外,此模式最多支持 40 個並發迭代。如需詳細資訊,請參閱在 Step Functions 工作流程中以內嵌模式使用對映狀態。
-
分佈式-高並發模式。在此模式下,
Map
狀態會將每個反覆作為子工作流程執行執行執行執行來執行,最多可達 10,000 個 parallel 子項工作流程執行的高並行性。每個子工作流程執行都有自己的執行記錄,與父工作流程的執行歷程記錄不同。在此模式下,
Map
狀態可以接受JSON陣列或 Amazon S3 資料來源 (例如CSV檔案) 作為其輸入。如需詳細資訊,請參閱分散式模式。
您應該使用的模式取決於您要如何處理資料集中的項目。如果工作流程的執行歷程記錄不超過 25,000 個項目,或者您不需要超過 40 個並行迭代,請在內嵌模式中使用Map
狀態。
當您需要協調符合下列任何條件組合的大規模 parallel 工作負載時,請使用分散式模式中的Map
狀態:
資料集的大小超過 256 KB。
工作流程的執行事件歷程記錄超過 25,000 個項目。
您需要超過 40 個 parallel 迭代的並發性。
內聯模式和分佈式模式差異
下表反白「內嵌」和「分散式」模式之間的差異。
內嵌模式 | 分散式模式 |
---|---|
Supported data sources | |
接受從工作流程中上一個步驟傳遞的JSON陣列作為輸入。 |
接受下列資料來源作為輸入:
|
Map iterations | |
在此模式下,狀態的每個版序都會在包含 |
在此模式下, |
Maximum concurrency for parallel iterations | |
可讓您盡可能同時執行多達 40 個反覆項目。 |
可讓您執行多達 10,000 個 parallel 子工作流程執行,一次處理數百萬個資料項目。 |
Input payload and event history sizes | |
對輸入有效負載大小強制執行 256 KB 的限制,並在執行事件歷史記錄中強制執行 25,000 個項目。 |
可讓您克服承載大小限制,因為該 在此模式下,您也可以克服執行歷程記錄的限制,因為由 |
Monitoring and observability | |
您可以從主控台或呼叫 您還可以通過 CloudWatch 和 X-Ray 查看執行歷史記錄。 |
當您在分散式模式下執行 如需詳細資訊,請參閱在 Step Functions 數中檢視分散式對應執行。 |