使用分散式映射處理來自 Amazon S3 的 CSV 檔案 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用分散式映射處理來自 Amazon S3 的 CSV 檔案

此範例專案示範如何使用分散式地圖狀態來反覆執行使用 Lambda函數產生的 10,000 列以上的 CSV 檔案。CSV 檔案包含客戶訂單的運送資訊,並存放在 Amazon S3 儲存貯體中。分散式映射會反覆運算 CSV 檔案中 10 個資料列的批次,以進行資料分析。

分散式地圖包含偵測任何延遲訂單的 Lambda 函數。分散式地圖也包含內嵌地圖,以處理批次中的延遲訂單,並在陣列中傳回這些延遲訂單。對於每個延遲的順序,內嵌映射會傳送訊息至 Amazon SQS佇列。最後,此範例專案會將 Map Run 結果儲存到 中的另一個 Amazon S3 儲存貯體 AWS 帳戶。

透過分散式地圖,您一次最多可以執行 10,000 個平行子工作流程執行。在此範例專案中,分散式地圖的最大並行設定為 1000,限制為 1000 個平行子工作流程執行。

此範例專案會建立狀態機器、支援 AWS 的資源,並設定相關的 IAM 許可。探索此範例專案,了解如何使用分散式地圖來協調大規模的平行工作負載,或使用它做為您自己的專案的起點。

步驟 1:建立狀態機器

  1. 開啟 Step Functions 主控台,然後選擇建立狀態機器

  2. 選擇從範本建立,並尋找相關的入門範本。選擇 Next (下一步) 繼續。

  3. 選擇如何使用範本:

    1. 執行示範 – 建立唯讀狀態機器。檢閱後,您可以建立工作流程和所有相關資源。

    2. 上面建置 – 提供可編輯的工作流程定義,您可以使用自己的資源來檢閱、自訂和部署。(不會自動建立相關資源,例如函數或佇列。)

  4. 選擇使用範本以繼續您的選擇。

    注意

    部署至您 帳戶的 服務需支付標準費用。

步驟 2:執行示範狀態機器

如果您選擇執行示範選項,則會部署並準備好執行所有相關資源。如果您選擇在其中建置選項,您可能需要設定預留位置值並建立其他資源,才能執行自訂工作流程。

  1. 選擇部署並執行

  2. 等待 AWS CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

  3. 開始執行選項出現後,請檢閱輸入並選擇開始執行

恭喜您!

您現在應該有狀態機器的執行中示範。您可以在圖形檢視中選擇狀態,以檢閱輸入、輸出、變數、定義和事件。