Amazon SWF 和 Amazon SNS 的訂閱工作流程教程 - Amazon Simple Workflow Service

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

Amazon SWF 和 Amazon SNS 的訂閱工作流程教程

本節提供一個教學課程,說明如何建立 Amazon SWF 工作流程應用程式,該應用程式由一組四個按順序運作的活動組成。它也涵蓋:

  • 設定 defaultexecution-time 工作流程與活動選項。

  • 輪詢 Amazon SWF 以取得決策和活動任務。

  • 使用 Amazon SWF 在活動和工作流程之間傳遞資料。

  • 等待人工任務,並從活動任務向 Amazon SWF 報告活動訊號。

  • 使用 Amazon SNS 建立主題、向使用者訂閱主題,然後將訊息發佈到已訂閱的端點。

您可以同時使用 Amazon 簡易工作流程服務 (Amazon SWF)Amazon Simple Notification Service (Amazon SNS) 來模擬「人工任務」工作流程,這個工作流程需要人工執行某些動作,然後與 Amazon SWF 通訊以啟動工作流程中的下一個活動。

由於 Amazon SWF 是雲端式網頁服務,因此與 Amazon SWF 的通訊可以從任何可連線到網際網路的地方產生。在這種情況下,我們將使用 Amazon SNS 透過電子郵件、簡訊或兩者與使用者通訊。

本教學課程使用AWS SDK for Ruby來存取 Amazon SWF 和 Amazon SNS,但有許多可用的開發選項,包括 Ruby,可讓您更輕鬆地與 Amazon SWF 進行協調和通訊。 AWS Flow Framework

注意

本教學課程使用 AWS SDK for Ruby,但我們建議您使AWS Flow Framework 用 Java

關於工作流程

我們將開發的工作流程包含四個主要步驟:

  1. 從使用者取得訂閱地址 (電子郵件或簡訊)。

  2. 建立 SNS 主題並將提供的端點訂閱到主題。

  3. 等待使用者確認訂閱。

  4. 如果使用者確認,將發佈賀辭到主題。

這些步驟包含完全自動化的活動 (步驟 2 和 4),以及需要工作流程等待人員先將某項資料提供給活動才能進行工作流程的活動 (步驟 1 和 3)。

每個步驟都依賴前一個步驟所產生的資料 (您必須要先有端點,才能訂閱到主題,而且您必須要先有主題訂閱,才能等待確認,以此類推)。本教學課程也會說明如何在完成時提供活動結果,以及如何將輸入傳遞至正在排程的工作。Amazon SWF 會處理活動和工作流程之間資訊的協調和交付,反之亦然。

我們也同時使用鍵盤輸入和 Amazon SNS 來處理 Amazon SWF 與提供資料給工作流程的人員之間的通訊。實際上,您可以使用許多不同的技術與人類使用者通訊,但 Amazon SNS 提供了一種非常簡單的方法,可以使用電子郵件或文字訊息通知使用者工作流程中的事件。

必要條件

若要遵循本教學,您將需要下列項目:

如果您已經設定好這些項目,代表您已準備就緒。如果您不想執行範例,您仍然可以依照教學課程進行操作 — 無論您選擇的開發選項為何,本教學中的大部分內容都適用於使用 Amazon SWF 和 Amazon SNS。

教學步驟

本教學分為下列步驟: