

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

# 将服务与 Step Functions 集成
<a name="integrate-services"></a>

了解如何使用 Step Functions 集成 Amazon Web Services 服务 和调用 HTTPS APIs 。通过服务集成，您的工作流可以协调资源并编排业务流程。

根据工作流类型和可用性，您的工作流使用以下三种服务集成模式之一来调用服务：
+ 请求响应（默认）：等待 HTTP 响应，然后进入下一个状态
+ Run a Job (`.sync`)-等待任务完成
+ 等待 Callback (`.waitForTaskToken`)-暂停工作流程，直到返回任务令牌

要了解更多信息，请参阅[服务集成模式](connect-to-resource.md)。要了解有关如何控制数据流向已集成服务的更多信息，请参阅[在 Step Functions 中将参数传递给服务 API](connect-parameters.md)。

## Amazon 软件开发工具包集成
<a name="connect-to-services-awssdk"></a>

Amazon SDK 集成的工作原理与使用 S Amazon DK 进行 API 调用完全一样。

使用[Amazon 软件开发工具包集成](supported-services-awssdk.md)，您的状态机可以为两百多个 Amazon 服务调用九千多个 API 操作。

**Example 您可以使用的集成：**  
+ 调用一个 Amazon Lambda 函数。
+ 运行 Amazon Batch 作业并根据结果采取不同的操作。
+ 在 Amazon DynamoDB 中检索或更新项目。
+ 运行 Amazon Elastic Container Service (Amazon ECS) 任务并等待任务完成。
+ 在 Amazon Simple Notification Service (Amazon SNS) 中发布主题。
+ 在 Amazon Simple Queue Service (Amazon SQS) 中发送消息。
+ 管理我们的 Amazon Amazon Glue A SageMaker I 的任务。
+ 构建用于执行 Amazon EMR 作业的工作流。
+ 启动另一个 Amazon Step Functions 工作流程执行。

## 优化集成
<a name="connect-to-services-optimized"></a>

除了标准集成外，Step Functions 还提供优化集成，可实现增强的功能。Step Functions 对优化集成进行了自定义，为开发人员在工作流环境中集成服务提供更好的体验。

例如，经过优化的 [Lambda `Invoke`](connect-lambda.md) 会自动将 API 输出从转义的 JSON 转换为您可以更轻松地使用的 JSON 对象。另一个例子是 [Amazon Batch`SubmitJob`](connect-batch.md) 如何暂停执行，直至批处理作业完成，这是一种常见的情况。

我们**建议**尽可能使用优化集成。

要查看优化集成的完整列表，请参阅专门介绍[将优化的服务与 Step Functions 集成](integrate-optimized.md)的章节

## 致电 HTTP APIs
<a name="connect-to-services-https"></a>

HTTP 任务是一种[Task 工作流程状态](state-task.md)状态，可用于在工作流程 APIs 中调用 HTTPS。API 可以是公开的，例如 Stripe 或 Salesforce 等第三方 SaaS 应用程序所提供的 API。您也可以调用私有 API，例如 Amazon Virtual Private Cloud 中基于 HTTPS 的应用程序所提供的 API。

有关更多信息，请参阅 [在 Step Functions 工作流程 APIs 中调用 HT](call-https-apis.md)。