Amazon SWF および Amazon SNS を使用したサブスクリプションワークフローのチュートリアル - Amazon Simple Workflow Service

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

Amazon SWF および Amazon SNS を使用したサブスクリプションワークフローのチュートリアル

このセクションでは、シーケンシャルに動作する 4 つのアクティビティで構成される Amazon SWF ワークフローアプリケーションを作成する方法について説明するチュートリアルを示します。その内容は次のとおりです。

  • デフォルトおよび実行時間のワークフローとアクティビティオプションの設定。

  • 決定およびアクティビティタスクに関する Amazon SWF のポーリング。

  • Amazon SWF を使用した、アクティビティとワークフロー間のデータの引き渡し。

  • ヒューマンタスクを待機し、アクティビティタスクから Amazon SWF にハートビートを報告します。

  • Amazon SNS を使用したトピックの作成、そのトピックへのユーザーのサブスクライブ、およびサブスクライブしたエンドポイントへのメッセージの発行。

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

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

このチュートリアルではAWS SDK for Ruby、 を使用して Amazon SWF および Amazon SNS にアクセスしますが、 for AWS Flow Framework Ruby など、多くの開発オプションが用意されているため、Amazon SWF との調整と通信が容易になります。

注記

このチュートリアルでは を使用しますが AWS SDK for Ruby、 AWS Flow Framework for Java を使用することをお勧めします。

ワークフローについて

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

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

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

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

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

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

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

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

前提条件

このチュートリアルを実行するには、以下が必要です。

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

チュートリアルのステップ

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