写点什么

AWS Step Functions 的计算、数据库、消息传递、分析和机器学习集成

  • 2019-10-14
  • 本文字数:1674 字

    阅读完需:约 5 分钟

AWS Step Functions 的计算、数据库、消息传递、分析和机器学习集成


AWS Step Functions 是面向应用程序开发人员的完全托管式工作流服务。您可以从总体上进行思考和工作,以可靠和可重复的方式连接和协调活动,同时保持业务逻辑与工作流逻辑分离。在设计和测试工作流(我们称之为状态机)之后,您可以大规模进行部署,使数万甚至数十万个工作流同时独立运行。Step Functions 跟踪每个工作流的状态,负责重试瞬态故障活动,并简化监控和日志记录。要了解更多信息,请逐步浏览使用 AWS Step Functions 和 AWS Lambda 创建无服务器工作流教程。


自从我们在 AWS re:Invent 2016 上发布以来,我们的客户充分利用了 Step Functions(我的文章 Things go Better with Step Functions 描述了一个真实用例)。我们的客户喜欢这样一个事实:他们可以轻松调用 AWS Lambda 函数来实施业务逻辑,并要求我们提供更多选项。


更多集成,更强功能


今天,我们为您提供了通过 Step Function 状态机使用另外八项 AWS 服务的功能。以下是新操作:


DynamoDB – 从 Amazon DynamoDB 表中获取现有项目;将一个新项目放入 DynamoDB 表中。


AWS Batch – 提交 AWS Batch 作业并等待其完成。


Amazon ECS – 使用任务定义运行 Amazon ECS 或 AWS Fargate 任务。


Amazon SNS – 将消息发布到 Amazon Simple Notification Service (SNS) 主题。


Amazon SQS – 将消息发送到 Amazon Simple Queue Service (SQS) 队列。


AWS Glue – 启动 AWS Glue 作业运行。


Amazon SageMaker – 创建 Amazon SageMaker 训练作业;创建 SageMaker 转换作业(阅读 Amazon SageMaker 的新功能:工作流、算法和认证,了解更多信息)。


您可以单独使用这些操作,也可以将这些操作组合起来使用。为了帮助您入门,我们构建了一些很酷的示例,它们将向您展示如何管理批处理作业、管理容器任务、从 DynamoDB 复制数据、检索批处理作业的状态等。例如,下面以可视化形式展示了将数据从 DynamoDB 复制到 SQS 的示例:



该示例(可作为 AWS CloudFormation 模板使用)创建所有必要的移动部件(包括 Lambda 函数),这些移动部件将使用一些测试数据填充(种子填充)表。创建堆栈后,我可以在 Step Functions 控制台中找到状态机并执行它:



我可以检查控制台中的每一步;第一步(种子填充 DynamoDB 表)调用 Lambda 函数,该函数创建一些表条目并返回键列表(消息 ID):



第三步(向 SQS 发送消息)从以下输入开始:



提供此输出,包括 SQS MessageId:



如您所见,状态机负责处理所有繁重的工作 – 调用 Lambda 函数、迭代消息 ID 列表,并为每个消息 ID 调用 DynamoDB 和 SQS。我可以同时运行多个副本:



我相信您可以在这个示例的基础上,用它构建一些令人惊叹的内容;请务必查看其他示例和模板以获取一些想法!


如果您已经构建并运行自己的状态机,则应该了解 Magic ARN 和参数的一些信息:


Magic ARN – 这些新操作中的每一项都由一个特殊的“魔术”(这是 Tim 使用的技术术语)ARN 表示。一个用于发送到 SQS,另一个用于运行批处理作业,以此类推。


参数 – 您可以使用“任务”状态中的参数字段来控制传递给实施新函数的服务 API 的参数。您的状态机定义可以包括静态 JSON 或对状态输入中特定元素的引用(采用 JsonPath 形式)。


以下是使用 Magic ARN 和参数定义状态的方法:


   "Read Next Message from DynamoDB": {      "Type": "Task",      "Resource": "arn:aws:states:::dynamodb:getItem",      "Parameters": {        "TableName": "StepDemoStack-DDBTable-1DKVAVTZ1QTSH",        "Key": {          "MessageId": {"S.$": "$.List[0]"}        }      },      "ResultPath": "$.DynamoDB",      "Next": "Send Message to SQS"    },
复制代码


现已推出


新的集成现已推出,您可以在所有推出 Step Functions 的 AWS 区域中使用它们。您为每个状态转换和您使用的 AWS 服务支付常规费用。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-compute-database-messaging-analytics-and-machine-learning-integration-for-aws-step-functions/


2019-10-14 13:00621
用户头像

发布了 1621 篇内容, 共 73.9 次阅读, 收获喜欢 68 次。

关注

评论

发布
暂无评论
发现更多内容

Android 查看签名

沃德

程序员 7月月更

ORACLE进阶(四)表连接讲解

No Silver Bullet

oracle 7月月更 表连接

Android 无限循环ViewPager滑动空白Bug及报错跳坑

芝麻粒儿

android 手机 7月月更

SAP Fiori 应用索引大全工具和 SAP Fiori Tools 的使用介绍

Jerry Wang

SAP Fiori SAP UI5 ui5 7月月更

LeetCode-155. 最小栈(java)

bug菌

Leet Code 7月月更

Scala 基础 (五):面向对象(上篇)

百思不得小赵

scala 大数据 oop 7月月更

面试突击63:MySQL 中如何去重?

王磊

Java MySQL 面试

SAP UI5 框架的 manifest.json

Jerry Wang

SAP Fiori SAP UI5 ui5 7月月更

中移动、蚂蚁、顺丰、兴盛优选技术专家,带你了解架构稳定性保障

博文视点Broadview

C#/VB.NET 给PDF文档添加文本/图像水印

在下毛毛雨

C# .net PDF 添加水印

Fedora/REHL 安装 semanage

HoneyMoose

解构运算符的理解与运用

是乃德也是Ned

7月月更

CSS 基于文字的图片马赛克你见过吗

南城FE

CSS 前端 马赛克 7月月更

小程序在产业互联网中的作用

Geek_99967b

小程序 小程序容器

关于静态类型、动态类型、id、instancetype

NewBoy

前端 移动端 iOS 知识体系 7月月更

LSF 集群全面监控!浅析 HPC 基于龙蜥操作系统的迁移替代解决方案

OpenAnolis小助手

开源 解决方案 龙蜥操作系统 常青藤开源科技 HPCinsights

C++|TCP 服务端中接收文件

中国好公民st

c++ TCP通信 7月月更

基于STM32+华为云IOT设计的智能路灯

DS小龙哥

7月月更

CRMEB 商城系统如何助力营销?

CRMEB

三步就能在OpenHarmony中实现车牌识别

OpenHarmony开发者

OpenHarmony

在QWidget上实现窗口阻塞

小肉球

qt 7月月更

分布式不来点网关都说不过去

zxhtom

7月月更

视频化全链路智能上云?一文详解什么是阿里云视频云「智能媒体生产」

阿里云视频云

人工智能 媒体 音视频

【LeetCode】装满石头的背包的最大数量Java题解

Albert

LeetCode 7月月更

用Java写学生登陆认证系统

魏铁锤

node の SQLite

空城机

sqlite Node 7月月更

基本磁盘与动态磁盘 RAID磁盘冗余阵列区分

Albert Edison

7月月更

使用标签模板解决用户恶意输入的问题

猪痞恶霸

前端 js ES6 7月月更

面试突击62:group by 有哪些注意事项?

王磊

Java MySQL 面试

前端知识链条中少不了的一环--Ajax

是乃德也是Ned

ajax 前端 7月月更

Python|数据结构——字典和集合

AXYZdong

Python 7月月更

  • 扫码加入 InfoQ 开发者交流群
AWS Step Functions 的计算、数据库、消息传递、分析和机器学习集成_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章