

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

# 亚马逊 SWF 的其他资源和参考信息
<a name="resources"></a>

本章提供了使用 Amazon SWF 开发工作流时需要的其他资源和参考信息。

**Topics**
+ [Amazon SWF 超时类型](swf-timeout-types.md)
+ [Amazon Simple Workflow Service 端点](#resources-endpoints)
+ [Amazon Simple Workflow Service 的其他文档](#resources-docs)
+ [Amazon Simple Workflow Service 的 Web 资源](#resources-web)
+ [Ruby Flow 的迁移选项](#RubyFlowOptions)

## Amazon Simple Workflow Service 端点
<a name="resources-endpoints"></a>

*Amazon Web Services 一般参考* 中提供了当前 [Amazon SWF 区域和端点](https://docs.amazonaws.cn/general/latest/gr/rande.html#swf_region)的列表，以及其他服务的端点。

Amazon SWF 域及所有相关工作流和活动必须在同一区域中才能互相通信。此外，一个区域中的任何已注册域、工作流程和活动不存在于其他区域中。*例如，如果您在 us-east-*1 和 us-west-* 2 中都创建了一个名为 MySampleDomain “” 的域，则它们将*作为单独的域存在*：与您的域名关联的所有工作流程、任务列表、活动或数据都不会跨区域共享。*

如果您在工作流程中使用其他 Amazon 资源，例如 Amazon EC2 实例，则这些资源也必须与您的 Amazon SWF 资源位于同一区域。唯一的例外是跨区域的服务，如 Amazon S3 和 IAM。在任何支持这些服务的区域中，您都可以从工作流程访问这些服务。

## Amazon Simple Workflow Service 的其他文档
<a name="resources-docs"></a>

除了本开发人员指南之外，以下文档也很有用。

### Amazon Simple Workflow Service API Reference
<a name="resources-docs-api-ref"></a>

[Amazon Simple Workflow Service API Reference](https://docs.amazonaws.cn/amazonswf/latest/apireference/) 提供了有关 Amazon SWF HTTP API 的详细信息，包括操作、请求和响应结构以及错误代码。

### Amazon Flow Framework 文档
<a name="aws-flow-framework-documentation"></a>

[Amazon Flow Framework](https://www.amazonaws.cn/swf/details/flow/) 是一个编程框架，能够简化使用 Amazon SWF 管理其工作流和活动的分布式异步应用程序的实现过程，以便您能够集中精力实现您的工作流逻辑。

每种语言 Amazon Flow Framework 都按照其设计语言的惯用语进行设计，因此您可以自然地使用自己选择的语言来实现具有 Amazon SWF 所有优势的工作流程。

有一个适用于 Java 的 Amazon 流程框架。[Amazon Flow Framework 适用于 Java 的开发人员指南](https://docs.amazonaws.cn/amazonswf/latest/awsflowguide/)提供了有关如何获取、设置和使用 Amazon Flow Framework 适用于 Java 的信息。

### Amazon 软件开发工具包文档
<a name="aws-sdk-documentation"></a>

 Amazon 软件开发套件 (SDKs) 提供多种不同编程语言的 Amazon SWF 访问权限。它们严格 SDKs 遵循 HTTP API，但也为某些 Amazon SWF 功能提供了特定语言的编程接口。您可以访问以下链接了解有关每个软件开发工具包的更多信息。

**注意**  
 SDKs 此处仅列出了在撰写本文时支持 Amazon SWF 的产品。要查看可用工具的完整列表 Amazon SDKs，请访问[亚马逊 Web Services 工具](https://www.amazonaws.cn/tools/)页面。

**Java**  
为 Amazon 基础设施服务 适用于 Java 的 Amazon SDK 提供了 Java API。  
要查看可用文档，请参阅 [适用于 Java 的 Amazon SDK Documentation](https://www.amazonaws.cn/documentation/sdkforjava/) 页面。您也可以通过访问以下链接直接转到 SDK 参考中的 Amazon SWF 部分：  
+ [https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflowClient.html](https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflowClient.html)
+ [https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflowAsyncClient.html](https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflowAsyncClient.html)
+ [https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflow.html](https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflow.html)
+ [https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflowAsync.html](https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/AmazonSimpleWorkflowAsync.html)

**JavaScript**  
 适用于 JavaScript 的 Amazon SDK 允许开发人员使用浏览器或服务器上的 Node.js 应用程序内部提供的简单的 easy-to-use API 来构建利用 Amazon 服务的库或应用程序。  
要查看可用文档，请参阅 [适用于 JavaScript 的 Amazon SDK Documentation](https://www.amazonaws.cn/documentation/sdkforjavascript/) 页面。您也可以通过访问此链接直接转到 SDK 参考中的 Amazon SWF 部分：  
+ [https://docs.amazonaws.cn/AWSJavaScriptSDK/latest/AWS/SWF.html](https://docs.amazonaws.cn/AWSJavaScriptSDK/latest/AWS/SWF.html)

**.NET**  
 适用于 .NET 的 Amazon SDK 是一个可下载的单一软件包，其中包括 Visual Studio 项目模板、 Amazon .NET 库、C\$1 代码示例和文档。 适用于 .NET 的 Amazon SDK 这使得 Windows 开发人员可以更轻松地为 Amazon SWF 和其他服务构建.NET 应用程序。  
要查看可用文档，请参阅 [适用于 .NET 的 Amazon SDK Documentation](https://www.amazonaws.cn/documentation/sdkfornet/) 页面。您也可以通过访问以下链接直接转到 SDK 参考中的 Amazon SWF 部分：  
+ [https://docs.amazonaws.cn/sdkfornet/v4/apidocs/items/SimpleWorkflow/NSimpleWorkflow.html](https://docs.amazonaws.cn/sdkfornet/v4/apidocs/items/SimpleWorkflow/NSimpleWorkflow.html)
+ [https://docs.amazonaws.cn/sdkfornet/v4/apidocs/items/SimpleWorkflow/NSimpleWorkflowModel.html](https://docs.amazonaws.cn/sdkfornet/v4/apidocs/items/SimpleWorkflow/NSimpleWorkflowModel.html)

**PHP**  
为 Amazon SWF Amazon SDK for PHP 提供了 PHP 编程接口。  
要查看可用文档，请参阅 [Amazon SDK for PHP Documentation](https://www.amazonaws.cn/documentation/sdkforphp/) 页面。您也可以通过访问此链接直接转到 SDK 参考中的 Amazon SWF 部分：  
+ [https://docs.amazonaws.cn/sdk-for-php/latest/reference/class-Aws.Swf.SwfClient.html](https://docs.amazonaws.cn/sdk-for-php/latest/reference/class-Aws.Swf.SwfClient.html)

**Python**  
为亚马逊 SWF Amazon SDK for Python (Boto) 提供了 Python 编程接口。  
要查看可用文档，请参阅 [boto: A Python interface to Amazon Web Services](http://docs.pythonboto.org/en/latest/) 页面。您也可以通过访问以下链接直接转到文档中的 Amazon SWF 部分：  
+ [Amazon SWF Tutorial](http://docs.pythonboto.org/en/latest/swf_tut.html)
+ [Amazon SWF Reference](http://docs.pythonboto.org/en/latest/ref/swf.html)

**Ruby**  
为 Amazon SWF 适用于 Ruby 的 Amazon SDK 提供了 Ruby 编程接口。  
要查看可用文档，请参阅 [适用于 Ruby 的 Amazon SDK Documentation](https://www.amazonaws.cn/documentation/sdkforruby/) 页面。您也可以通过访问此链接直接转到 SDK 参考中的 Amazon SWF 部分：  
+ [类别： AWS::Simple工作流程](https://docs.amazonaws.cn/AWSRubySDK/latest/AWS/SimpleWorkflow.html)

### Amazon CLI 文档
<a name="aws-cli-documentation"></a>

 Amazon Command Line Interface (Amazon CLI) 是用于管理 Amazon 服务的统一工具。只需下载和配置一个工具，您就可以从命令行控制多项 Amazon 服务，并通过脚本自动执行这些服务。

有关更多信息 Amazon CLI，请参阅[Amazon Command Line Interface](https://www.amazonaws.cn/cli/)页面。

有关 Amazon SWF 可用命令的概述，请参阅《Amazon CLI Command Reference》**中 的 [swf](https://docs.amazonaws.cn/cli/latest/reference/swf/index.html)。

## Amazon Simple Workflow Service 的 Web 资源
<a name="resources-web"></a>

您可以使用多种 Web 资源来了解有关 Amazon SWF 的更多信息，或者获取有关使用该服务和开发工作流方面的帮助。

### Amazon SWF 论坛
<a name="resources-web-forum"></a>

Amazon SWF 论坛为您提供了一个与其 Amazon SWF 开发人员和 Amazon SWF 开发团队成员交流的场所，以便您提出问题并获得答案。

您可以通过访问该论坛，地址为：[Forum: Amazon Simple Workflow Service](https://forums.aws.csdn.net/forum.jspa?forumID=133)。

### Amazon SWF 常见问题
<a name="resources-web-faq"></a>

“Amazon SWF 常见问题”提供了有关 Amazon SWF 的常见问题的答案，包括常见使用案例的概述、Amazon SWF 与其他服务的区别等。

您可在此处访问常见问题：[Amazon SWF 常见问题](https://www.amazonaws.cn/swf/faqs/)。

### Amazon SWF 视频
<a name="resources-web-videos"></a>

上的 [Amazon Web Services](http://www.youtube.com/user/AmazonWebServices) 频道为包括亚马逊 SWF 在内的所有亚马逊网络服务 YouTube提供视频培训。要查看亚马逊 SWF 相关视频的完整列表，请使用以下查询：[亚马逊 Web Services 中的*简单工作流程*](http://www.youtube.com/user/AmazonWebServices/search?query=simple+workflow)

## Ruby Flow 的迁移选项
<a name="RubyFlowOptions"></a>

fo Amazon Flow Framework r Ruby 的版本已不再处于积极开发阶段。现有代码仍将无限期继续运行，但不会再有新功能或新版本。本主题将介绍继续使用 Amazon SWF 的使用和迁移选项，以及有关如何迁移到 Step Functions 的信息。


****  

| 选项 | 描述 | 
| --- | --- | 
|  [继续使用 Ruby Flow Framework](#continue-to-use-ruby)  |  目前，Ruby Flow Framework 将继续使用。如果您不执行任何操作，您的代码将继续按现有方式运行。计划在不久的将来迁移出 Amazon Flow Framework 适用于 Ruby 的。  | 
|  [迁移到 Java Flow Framework](#migrate-to-java-flow)  |  Java Flow Framework 仍在进行积极开发，并将继续收到新功能和更新。  | 
|  [迁移到 Step Functions](#migrate-to-step-functions)  |  Step Functions 可通过由状态机控制的可视化工作流程，来协调分布式应用程序的组件。  | 
| [直接使用 SWF API](#use-api-directly)，无需 Flow Framework | 您可以直接使用 SWF API 继续在 Ruby 中工作，而无需使用 Ruby Flow Framework。 | 

无论对于 Ruby 还是 Java，Flow Framework 提供的优势均在于，可让您专注于工作流程逻辑。该架构可处理大多数通信和协作的详细信息，并将某些复杂问题抽象化。您可以通过迁移到 Java Flow Framework 来继续使用相同级别的抽象，也可以直接与 Amazon SWF SDK 交互。

### 继续使用 Ruby Flow Framework
<a name="continue-to-use-ruby"></a>

在 Amazon Flow Framework 短期内，for Ruby 将继续像现在一样发挥作用。如果您在 Ruby 中编写了 Amazon Flow Framework 工作流程，那么这些工作流程将继续起作用。在没有更新、支持或安全修复的情况下，您最好制定明确的计划，以便在不久的将来从适用于 Ruby 的 Amazon Flow Framework 迁移出来。

### 迁移到 Java Flow Framework
<a name="migrate-to-java-flow"></a>

 Amazon Flow Framework 适用于 Java 的将继续积极开发中。从概念上讲，for Java 与 Ruby 类似：您仍然可以专注于工作流程逻辑，该框架将有助于管理您的决策者逻辑，并将使 Amazon SWF 的其他方面更易于管理。 Amazon Flow Framework Amazon Flow Framework 
+ [Amazon Flow Framework for Java](https://docs.amazonaws.cn/amazonswf/latest/awsflowguide/welcome.html)
+ [Amazon Flow Framework 适用于 Java API 参考](https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/flow/package-summary.html)

### 迁移到 Step Functions
<a name="migrate-to-step-functions"></a>

Amazon Step Functions 提供的服务与 Amazon SWF 类似，但您的工作流程逻辑由状态机控制。借助 Step Functions，您可以使用可视化工作流来协调分布式应用程序和微服务的组件。您可通过能执行离散函数（或称为*任务*）的各单独组件构建应用程序，这样您能够快速扩展和更改应用程序。Step Functions 提供了一种可靠的方法来协调组件并逐步执行应用程序的函数。图形控制台可将应用程序的组件直观地展示为一系列步骤。它可以自动触发和跟踪各个步骤，并在出现错误时重试，因此您的应用程序每次都能按照预期顺序执行。Step Functions 会记录每个步骤的状态，这样在出现错误时，您就能够迅速诊断并调试问题。

在 Step Functions 中，您可以使用声明性 JSON 编写的状态机来管理各项任务的协调，该状态机是使用 [Amazon States Language](https://docs.amazonaws.cn/step-functions/latest/dg/concepts-amazon-states-language.html) 定义的。通过使用状态机，您不必编写和维护决定程序来控制您的应用程序逻辑。Step Functions 提供了一种直观、高效且敏捷的方法来使用可视化工作流协调应用程序组件。你应该考虑在所有新应用程序中使用，Step Functions Amazon Step Functions 为你目前在 for Ruby 中实现的工作流程提供了一个很好的迁移平台。 Amazon Flow Framework 

为了帮助您将任务迁移到 Step Functions，同时继续利用 Ruby 语言技能，Step Functions 提供了一个 Ruby 活动工作线程示例。该示例采用了实现活动工作线程的最佳实践，可用作将任务逻辑迁移到 Step Functions 的模板。有关更多信息，请参阅《Amazon Step Functions Developer Guide》[https://docs.amazonaws.cn/step-functions/latest/dg/](https://docs.amazonaws.cn/step-functions/latest/dg/)中的 [https://docs.amazonaws.cn/step-functions/latest/dg/example-ruby-activity-worker.html](https://docs.amazonaws.cn/step-functions/latest/dg/example-ruby-activity-worker.html)。

**注意**  
对于许多客户来说，从 for Ruby 迁移到 Step Amazon Flow Framework Functions 是最佳选择。但是，如果您要求信号干预您的进程，或者需要启动将结果返回给父进程的子进程，请考虑直接使用 Amazon SWF API，或者迁移到 for Java Amazon Flow Framework 的。

有关更多信息 Amazon Step Functions，请参阅：
+ [Amazon Step Functions 开发人员指南](https://docs.amazonaws.cn/step-functions/latest/dg/)
+ [Amazon Step Functions API 引用](https://docs.amazonaws.cn/step-functions/latest/apireference/)
+ [Amazon Step Functions 命令行参考](https://docs.amazonaws.cn/cli/latest/reference/stepfunctions/)

### 直接使用 Amazon SWF API
<a name="use-api-directly"></a>

虽然 f Amazon Flow Framework or Ruby 可以管理亚马逊 SWF 的某些复杂性，但你也可以直接使用亚马逊 SWF API。直接使用 API 可通过构建工作流程使您完全控制任务的执行和协作，无需担心跟踪任务进度和维持任务状态等底层复杂性。
+ [Amazon Simple Workflow Service Developer Guide](https://docs.amazonaws.cn/amazonswf/latest/developerguide/)
+ [Amazon Simple Workflow Service API Reference](https://docs.amazonaws.cn/amazonswf/latest/apireference/)