AWS Step Functions 支持超过200个AWS服务的SDK集成
AWS最近宣布,AWS Step Functions通过AWS SDK集成支持超过200个AWS服务,将支持的API操作从46个扩展到超过9,000个。这一新的集成类型能够支持大多数现有及未来的服务和API操作。
AWS Step Functions简介
AWS Step Functions是一种“低代码可视化工作流服务”,用于编排AWS服务、自动化业务流程和构建无服务器应用程序。该服务提供两种不同的工作流类型,分别针对可审计且可能长时间运行的工作流(最长一年)和高容量事件处理工作负载(最长五分钟)。典型的工作流程编排方面(如故障、重试、并行化、服务集成和可观察性)都是完全托管的,以便开发者可以专注于更高价值的业务逻辑。
优化集成与SDK集成
此前,Step Functions提供了与17个AWS服务的所谓“优化集成”。优化集成意味着它智能地调用服务,并可以在“即发即弃”或“等待完成”模式下操作,还能自动生成IAM策略以简化操作。然而,这种更复杂的开发者体验导致支持的AWS服务列表增长相对缓慢。
为了减少因缺少集成而使用自定义代码(通过AWS Lambda集成)的复杂性和成本,Step Functions现在提供了一个通用的AWS SDK集成,能够支持大多数服务和API操作。这种灵活性需要手动配置IAM策略,而不是自动生成。
新功能的语法与示例
新的AWS SDK集成使用基于ARN的URI集成格式,语法如下:
arn:aws:states:::aws-sdk:serviceName:apiAction.[serviceIntegrationPattern]
AWS高级开发者倡导者Marcia Villalba在发布博客中提供了一个全面的工作流示例,展示了如何使用多个SDK集成从S3桶中获取媒体文件,然后转录视频,最后将转录翻译成目标语言。
异步操作与优化集成的需求
尽管SDK集成允许开发者“今天就能做到”,但AWS Serverless Hero Ben Kehoe指出,异步操作(如转录作业)仍需要轮询循环,这在实际应用中可能会带来额外的复杂性,因此优化集成仍然有其价值。
分页支持与高级工具
AWS Community Hero Ben Bridts希望Step Functions SDK集成能够支持分页处理,以应对较大的API响应。一些限制可以通过更高级的工具(如Cloud Development Kit, CDK)来绕过,CDK支持AWS SDK集成模式,并自动生成IAM策略。
相关新闻与其他云服务
AWS Athena和AWS Batch已将AWS Step Functions集成到其服务控制台中,以便通过上下文深度链接可视化工作流,并通过示例项目简化常见用例的入门。相比之下,微软的Azure Logic Apps和Google Cloud的Workflows使用不同的扩展架构,分别基于连接器和专用连接器。
文档与支持
AWS Step Functions文档提供了开发者指南和API参考,AWS CLI的Step Functions命令也有单独文档。支持通过AWS Step Functions论坛提供。AWS SDK集成不收取额外费用,仅按Step Functions和目标服务的常规使用量计费。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。