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 Service,因此可从任何有 Internet 连接的地方发起与 Amazon SWF 的通信。在这种情况下,我们将使用 Amazon SNS 通过电子邮件和/或手机短信与用户通信。

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

注意

本教程使用版本 1的Amazon SDK for Ruby。适用 SDK for Ruby 仍可使用,但是我们建议您使用Amazon Flow Framework适用于 Java 的作为一种替代办法.

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

关于工作流程

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

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

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

  3. 等待用户确认订阅。

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

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

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

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

Prerequisites

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

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

教程步骤

本教程分为以下几步: