将服务与 Step Functions 集成
了解如何使用 Step Functions 集成 Amazon Web Services 服务和调用 HTTPS API。通过服务集成,您的工作流可以协调资源并编排业务流程。
根据工作流类型和可用性,您的工作流使用以下三种服务集成模式之一来调用服务:
-
请求响应(默认):等待 HTTP 响应,然后进入下一个状态
-
运行任务 (
.sync):等待任务完成 -
等待回调 (
.waitForTaskToken):暂停工作流程,直到返回任务令牌
要了解更多信息,请参阅服务集成模式。要了解有关如何控制数据流向已集成服务的更多信息,请参阅在 Step Functions 中将参数传递给服务 API。
Amazon 开发工具包集成
Amazon SDK 集成的工作方式与使用 Amazon SDK 发起 API 调用完全相同。
使用 Amazon 开发工具包集成,您的状态机可以为两百多个 Amazon 服务调用九千多个 API 操作。
例 您可以使用的集成:
-
调用 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 Glue 或 Amazon SageMaker AI 的作业。
-
构建用于执行 Amazon EMR 作业的工作流。
-
启动另一个 Amazon Step Functions 工作流执行。
优化集成
除了标准集成外,Step Functions 还提供优化集成,可实现增强的功能。Step Functions 对优化集成进行了自定义,为开发人员在工作流环境中集成服务提供更好的体验。
例如,经过优化的 Lambda Invoke 会自动将 API 输出从转义的 JSON 转换为您可以更轻松地使用的 JSON 对象。另一个例子是 Amazon BatchSubmitJob 如何暂停执行,直至批处理作业完成,这是一种常见的情况。
我们建议尽可能使用优化集成。
要查看优化集成的完整列表,请参阅专门介绍将优化的服务与 Step Functions 集成的章节
调用 HTTPS API
HTTP Task 是一种 Task 工作流程状态状态,可用于在工作流中调用 HTTPS API。API 可以是公开的,例如 Stripe 或 Salesforce 等第三方 SaaS 应用程序所提供的 API。您也可以调用私有 API,例如 Amazon Virtual Private Cloud 中基于 HTTPS 的应用程序所提供的 API。
有关更多信息,请参阅 在 Step Functions 工作流中调用 HTTPS API。