

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SWF の開始方法
<a name="swf-sns-tutorial"></a>

シーケンシャルに動作する 4 つのアクティビティのセットで構成される次の Amazon Simple Workflow Service ワークフローアプリケーションを開始できます。このチュートリアルでは、以下のトピックについても説明します。
+ *デフォルト*および*実行時間*のワークフローとアクティビティオプションの設定。
+ 決定およびアクティビティタスクに関する Amazon SWF のポーリング。
+ Amazon SWF を使用した、アクティビティとワークフロー間のデータの引き渡し。
+ *ヒューマンタスク*を待機し、アクティビティタスクから Amazon SWF にハートビートを報告します。
+ Amazon SNS を使用したトピックの作成、そのトピックへのユーザーのサブスクライブ、およびサブスクライブしたエンドポイントへのメッセージの発行。

Amazon SWF と Amazon Simple Notification Service (Amazon SNS) を組み合わせて「人間のタスク」ワークフローをエミュレートできます。このワークフローでは、人間のワーカーが何らかのアクションを実行し、Amazon SWF と通信してワークフローで次のアクティビティを起動する必要があります。

Amazon SWF はクラウドベースのウェブサービスであるため、Amazon SWF との通信は、インターネットへ接続が利用できる場所であればどこからでも行うことができます。この場合は、Amazon SNS を使用して、E メール、SMS テキストメッセージ、またはその両方によりユーザーと通信します。

このチュートリアルでは[AWS SDK for Ruby](https://aws.amazon.com/sdkforruby/)、 を使用して Amazon SWF と Amazon SNS にアクセスしますが、Amazon SWF との調整と通信を容易にする AWS Flow Framework for Ruby など、多くの開発オプションを利用できます。

**注記**  
このチュートリアルでは を使用しますが AWS SDK for Ruby、 [AWS Flow Framework for 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 の使用 AWS SDK for Ruby](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>

開発するワークフローは、4 つの主要なステップで構成されます。

1. ユーザーからサブスクリプションアドレス (E メールまたは SMS) を取得します。

1. SNS トピックを作成し、トピックに対して提供されたエンドポイントにサブスクライブします。

1. ユーザーによるサブスクリプションの確認を待機します。

1. ユーザーが確認した場合、トピックに対して成功のメッセージを発行します。

これらのステップには、完全に自動化されたアクティビティ (ステップ 2 および 4) と、ワークフローが進行するためには人間によるアクティビティへのデータの提供をワークフローが待機する必要があるその他のアクティビティ (ステップ 1 および 3) が含まれます。

各ステップは前のステップで生成されたデータに基づいていて、トピックにサブスクライブする前にエンドポイントが必要です。また、確認などを待機する前にトピックのサブスクリプションが必要です。このチュートリアルでは、完了時にアクティビティの結果を提供する方法、およびスケジュールされているタスクに入力を渡す方法についても説明します。Amazon SWF は、アクティビティとワークフローの間の情報の調整と配信、およびその逆を行います。

また、キーボード入力と Amazon SNS の両方を使用して、Amazon SWF とワークフローにデータを提供している人間との間の通信を処理しています。実際には、多くの異なる手法を使用して人間のユーザーと通信できますが、Amazon SNS はワークフローのイベントについてユーザーに通知するために、E メールまたはテキストメッセージを使用するための非常に簡単な方法を提供します。

## 前提条件
<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/)
+ [AWS SDK for Ruby](https://aws.amazon.com/sdkforruby/)

既にこれらをセットアップしている場合、続行する準備ができています。この例を実行しない場合は、チュートリアルに従うことができます。このチュートリアルの内容の多くは、選択した開発オプションに関係なくAmazon SWF と Amazon SNS の使用に適用されます。

## チュートリアルのステップ
<a name="swf-sns-tutorial-steps"></a>

このチュートリアルは、次のステップで構成されます。

1. [サブスクリプションワークフローチュートリアルパート 1: での Amazon SWF の使用 AWS SDK for Ruby](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)