

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

# Amazon SWF 入門
<a name="swf-sns-tutorial"></a>

您可以開始使用下列 Amazon Simple Workflow Service 工作流程應用程式，其中包含一組四個依序運作的活動。本教學課程也涵蓋下列主題：
+ 設定 *default* 和 *execution-time* 工作流程與活動選項。
+ 輪詢 Amazon SWF 以進行決策和活動任務。
+ 使用 Amazon SWF 在活動和工作流程之間傳遞資料。
+ 等待*人工任務*，並從活動任務向 Amazon SWF 報告活動訊號。
+ 使用 Amazon SNS 建立主題、訂閱使用者，以及發佈訊息至訂閱的端點。

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

由於 Amazon SWF 是雲端型 Web 服務，因此與 Amazon SWF 的通訊可能來自網際網路連線可用的任何位置。在這種情況下，我們將使用 Amazon SNS 透過電子郵件、簡訊或兩者與使用者通訊。

本教學課程使用 [適用於 Ruby 的 AWS SDK](https://aws.amazon.com/sdkforruby/)存取 Amazon SWF 和 Amazon SNS，但有許多可用的開發選項，包括 AWS Flow Framework 適用於 Ruby 的 ，可讓您更輕鬆地與 Amazon SWF 進行協調和通訊。

**注意**  
本教學課程使用 適用於 Ruby 的 AWS SDK，但我們建議您使用[AWS Flow Framework 適用於 Java](https://docs.aws.amazon.com/amazonswf/latest/awsflowguide/) 的 。

**Topics**
+ [關於工作流程](#swf-sns-tutorial-about-the-workflow)
+ [先決條件](#swf-sns-tutorial-prerequisites)
+ [教學步驟](#swf-sns-tutorial-steps)
+ [訂閱工作流程教學課程第 1 部分：搭配 使用 Amazon SWF 適用於 Ruby 的 AWS SDK](swf-sns-tutorial-setup-swf.md)
+ [訂閱工作流程教學第 2 部分：實作工作流程](swf-sns-tutorial-implementing-workflow.md)
+ [訂閱工作流程教學第 3 部分：實作活動](swf-sns-tutorial-implementing-activities.md)
+ [訂閱工作流程教學第 4 部分：實作活動任務輪詢器](swf-sns-tutorial-implementing-activities-poller.md)
+ [訂閱工作流程教學：執行工作流程](swf-sns-tutorial-running-the-workflow.md)

## 關於工作流程
<a name="swf-sns-tutorial-about-the-workflow"></a>

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

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

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

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

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

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

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

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

## 先決條件
<a name="swf-sns-tutorial-prerequisites"></a>

若要遵循本教學，您將需要下列項目：
+ [Amazon Web Services 帳戶](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html)
+ [Ruby 解譯器](https://www.ruby-lang.org/en/downloads/)
+ [適用於 Ruby 的 AWS SDK](https://aws.amazon.com/sdkforruby/)

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

## 教學步驟
<a name="swf-sns-tutorial-steps"></a>

本教學分為下列步驟：

1. [訂閱工作流程教學課程第 1 部分：搭配 使用 Amazon SWF 適用於 Ruby 的 AWS SDK](swf-sns-tutorial-setup-swf.md)

1. [訂閱工作流程教學第 2 部分：實作工作流程](swf-sns-tutorial-implementing-workflow.md)

1. [訂閱工作流程教學第 3 部分：實作活動](swf-sns-tutorial-implementing-activities.md)

1. [訂閱工作流程教學第 4 部分：實作活動任務輪詢器](swf-sns-tutorial-implementing-activities-poller.md)

1. [訂閱工作流程教學：執行工作流程](swf-sns-tutorial-running-the-workflow.md)