AWS Step Functions 功能
AWS Step Functions 为现代应用程序提供无服务器编排。编排通过将工作流分成多个步骤、添加流程逻辑以及跟踪步骤之间的输入和输出来集中管理工作流。
在应用程序执行时,Step Functions 会维护应用程序状态,准确跟踪应用程序处于哪个工作流步骤,并存储在应用程序组件之间传递的数据的事件日志。这意味着,如果网络出现故障或组件挂起,您的应用程序可以从上次停止的地方继续运行。
使用 Step Functions 可以更快、更直观地开发应用程序,因为您可以独立于业务逻辑来定义和管理应用程序的工作流。对其中一个进行更改不会影响另一个。
您可以轻松地在一个地方更新和修改工作流,而不必费力管理、监控和维护多个点对点集成。 您还可以直接从工作流程轻松地与几乎任何 SaaS 应用程序集成。
Step Functions 可将您的函数和容器从过多的代码中解放出来,因此您的应用程序编写速度更快、更具弹性且更易于维护。
什么是 Step Functions 的功能?
直观且易于使用的工作流配置
使用 AWS Step Functions,您可以将工作流定义为状态机,从而将复杂的代码转换为易于理解的语句和图表。构建应用程序并确认它们正在实现您想要的功能,既快捷又容易。阅读有关 Step Functions 工作原理的更多信息。
分布式应用程序的内置错误处理、超时和并行处理流程
AWS Step Functions 为您的工作流提供了称为状态的现成步骤,从而为您实现基本的服务基元,这意味着您可以从应用程序中删除该逻辑。状态可以将数据传递给其他状态和微服务、处理异常、添加超时、做出决策、并行执行多条路径等等。了解有关状态的更多信息。
增强的变量和有效载荷管理
AWS Step Functions 提供增强的变量和有效载荷管理功能,以加快应用程序的开发。这使开发人员能够使用变量更轻松地在 Step Functions 工作流中存储和引用有效载荷数据。您可以在工作流中的任何状态下分配和引用数据,而无需经过中间状态,从而简化跨工作流状态的有效载荷管理。开发人员可以利用 JSONata 的内置数据转换功能,减少对自定义代码的需求,从而提高工作效率。JSONata 增加了全面的数据转换功能,如日期/时间格式和数学运算,并允许您直接在工作流中执行数据操作。您还可以在新的和现有的工作流中逐步采用变量和 JSONata,无论是在工作流级别还是在单个状态级别,与此同时,现有的工作流仍可保持完整的功能,而无需进行任何更改。这些功能使开发人员能够以更少的状态创建更复杂、更高效的工作流,从而进一步降低总体成本。
与 220 个 AWS 服务和超过 10000 多个 API 直接集成
使用 AWS Step Functions 服务集成,您可以将您的 Step Functions 工作流配置为调用 220 多项 AWS 服务。其中包括:
- 计算服务(AWS Lambda、Amazon ECS、Amazon EKS 和 AWS Fargate)
- 数据库服务(Amazon DynamoDB)
- 消息收发服务(Amazon SNS 和 Amazon SQS)、数据处理
- 分析服务(Amazon Athena、AWS Batch、AWS Glue、Amazon EMR 和 AWS Glue DataBrew)
- 生成式人工智能和机器学习服务(Amazon SageMaker、Amazon Bedrock)
- Amazon API Gateway 创建的 API
了解有关服务集成的更多信息。
直接从您的工作流程与几乎任何 SaaS 应用程序集成
AWS Step Functions HTTPS 端点集成使您能够将基于 HTTP 的服务直接集成到工作流程中。您可以从一个位置构建、管理和编排由 AWS 服务和 SaaS 应用程序组成的多步骤工作流程。通过 HTTPS 端点集成,您可以轻松协调应用程序的各个组件、管理身份验证、测试集成和处理错误,而无需编写自定义代码或维护额外的基础设施。HTTPS 端点集成提高了开发人员的灵活性,使您能够轻松扩展支持业务的 SaaS 应用程序的功能。
分布式组件的协调
AWS Step Functions 可以协调任何可以建立 HTTPS 连接的应用程序,无论其托管在何处,例如,在 Amazon EC2 实例、移动设备或本地服务器上。使用 Step Functions,您可以快速创建利用 AWS 服务以及您自己的微服务的分布式应用程序。了解有关活动任务的更多信息。
组件可重复使用可实现强大而高效的应用程序开发
AWS Step Functions 将您现有的 Lambda 函数和微服务协调成强大的应用程序,并允许您快速将它们重新组合成新的组合。工作流中的任务可以在任何地方运行,包括在实例、容器、函数和移动设备上运行。了解如何重复使用现有应用程序组件。
通过分离工作流逻辑缩短开发周期
AWS Step Functions 将应用程序的逻辑与应用程序的实现严格分开。您可以添加、移动、交换和对步骤重新排序,而无需更改业务逻辑。通过这种关注点分离,您的工作流可以获得模块化、简化的维护、可扩展性和代码重用。
内置状态管理和工作流进度跟踪
AWS Step Functions 在执行期间维护应用程序的状态,包括跟踪应用程序处于哪个执行步骤,以及存储在工作流步骤之间移动的数据。这意味着您不必使用数据存储或通过在所有任务中构建复杂的状态管理来自行管理状态。
内置的错误处理功能
无论任务需要几秒钟还是几个月才能完成,AWS Step Functions 都会通过内置的尝试/捕获和重试自动处理错误和异常。您可以自动重试失败或超时的任务,以不同的方式响应不同类型的错误,并通过回退到指定的清理和恢复代码来平稳恢复。详细了解 Step Functions 错误处理功能以及如何使用状态机处理错误条件。
实时且可审计的工作流执行历史记录
AWS Step Functions 提供实时诊断和控制面板,与 Amazon CloudWatch 和 AWS CloudTrail 集成,并记录每次执行,包括整体状态、失败的步骤、输入和输出。如果出现问题,您不仅可以快速确定出错的位置,还可以快速确定原因,并快速排除故障和修复故障。了解有关 Step Functions 监控和日志记录的更多信息。
用于监控和故障排除的可视操作员控制面板
启动应用程序就像按按钮一样简单,然后将以可视化形式演示步骤的执行情况,因此您可以快速确认一切操作是否都按照预期的顺序执行。控制台将清晰地突出显示错误,因此您可以快速查明其根本原因,并对问题进行故障排除。
高可用性和容错工作流
AWS Step Functions 具有内置容错能力,可在各区域中跨过多个可用区维护服务容量,从而保护应用程序免受单个机器或数据中心故障的影响。这有助于确保服务本身及其操作的应用程序工作流具有高可用性。
可扩展的无服务器解决方案
AWS Step Functions 可自动扩展操作和底层计算,以运行应用程序的步骤,从而来响应不断变化的工作负载。Step Functions 可自动扩展,以帮助确保应用程序工作流能够随着请求频率的增加而始终保持一致的性能。
IoT 和数据摄取等事件处理工作流的大容量编排
AWS Step Functions 增加了快速工作流。快速工作流支持每秒大于 100000 的事件速率,使您能够构建高容量、持续时间短的工作流。
快速工作流可以协调来自一百多个 AWS 第三方 SaaS 事件源的 AWS Lambda 函数调用、AWS IoT 规则引擎操作和 Amazon EventBridge 事件。
在 Step Functions 应用场景页面中详细了解快速和标准工作流以及如何在示例自动化架构中使用它们。
大规模并行处理
Step Functions 可以对存储在 Amazon S3 中的图像、日志或 CSV 文件等对象进行迭代,然后启动并协调数千个并行工作流来处理数据。您可以更快、更轻松地扩展数千个并发工作流执行,从而帮助您分析数百万条日志、迭代数万兆字节数据或处理文档、图像和视频文件。详细了解用于构建大规模并行工作流的 Step Functions 地图状态。
安全性
AWS Step Functions 已与 AWS Identity and Access Management(IAM)集成,并建议对工作流中使用的所有资源采用最低权限的 IAM policy。Step Functions 支持 VPC 端点(VPCE)使用 AWS PrivateLink。您可以通过支持 VPC 的 AWS Lambda 函数和其他 AWS 服务访问 AWS Step Functions,而无需遍历公共互联网。了解有关 Step Functions 安全性和身份验证的更多信息。
合规性
AWS Step Functions 是一项符合 HIPAA 要求的服务,可用于包含医疗保健相关信息(例如个人健康信息(PHI))的应用程序。Step Functions 还符合 SOC(系统和组织控制)措施,这些第三方审计的结果可在 AWS SOC 合规网站上找到。AWS Step Functions 还符合其他通用的合规性标准。请查看 AWS Cloud 安全性网站,了解合规范围。
按使用量付费
使用 AWS Step Functions,您需要为每次从一个状态到下一个状态的过渡付费。计费方式是按照状态转化计量的,这与各个状态的持续时间(最多一年)无关,且您无需为空闲时间付费。当您将执行次数从几次扩展到数千万次时,这可以使 Step Functions 保持成本效益。了解有关 Step Functions 定价的更多信息。