Amazon SWF 和 Amazon SNS 的订阅工作流程教程 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SWF 和 Amazon SNS 的订阅工作流程教程

本节提供一个教程,其中介绍如何创建一个 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 是基于云的 Web 服务,因此可在任何有 Internet 连接的地方发起与 Amazon SWF 的通信。在这种情况下,我们将使用 Amazon SNS 通过电子邮件和/或手机短信与用户通信。

本教程使用Amazon SDK for Ruby访问 Amazon SWF 和 Amazon SNS,但是有许多开发选项可供选择,其中包括Amazon Flow Framework对于 Ruby,它可以更轻松地与 Amazon SWF 进行协调和沟通。

注意

本教程使用版本 1的Amazon SDK for Ruby. Ruby 的开发工具包仍可使用,但是我们建议您使用Amazon Flow Framework适用于 Java 的作为替代方案。

有关 Amazon SWF 开发选项的完整列表,请参阅开发选项.

关于工作流程

我们将开发的工作流程由以下四个主要步骤组成:

  1. 向用户获取订阅地址(电子邮件或手机短信)。

  2. 创建 SNS 主题,然后让所提供的终端节点订阅该主题。

  3. 等待用户确认订阅。

  4. 如果用户确认,则向该主题发布一条祝贺消息。

这些步骤包括完全自动化的活动(第 2 步和第 4 步)和其他活动(第 1 步和第 3 步),后者要求工作流等待工作线程向活动提供某些数据,然后工作流才能前进。

每一步都依赖于上一步生成的数据 (必须先有终端节点,然后才能让其订阅主题,并且必须先有主题订阅,然后才能等待确认等)。本教程还将介绍在完成后如何提供活动结果,以及如何将输入传递给所安排的任务。Amazon SWF 处理活动与工作流程之间的协调和信息传递,反之亦然。

我们还使用键盘输入和 Amazon SNS 处理 Amazon SWF 与向工作流程提供数据的人员之间的通信。实际上,您可以使用许多不同的方法与人工用户通信,但是 Amazon SNS 提供一种非常简便的方法,让您可以使用电子邮件或短信向用户通知工作流程中的事件。

先决条件

要按本教程进行操作,您需要以下各项:

如果已设置好这些,即准备就绪,可以继续。如果不想运行示例,则仍可按本教程操作本教程 — 本教程中的大多数内容适用于使用 Amazon SWF 和 Amazon SNS,无论如何都是如此。开发选项您使用。

教程步骤

本教程分为以下几步: