有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
腾讯轻联产品的主要概念包括:集成应用、消息、组件、安全网关等。本文主要介绍组件的相关内容。




简介

组件是编排集成流的最小单位,分为逻辑组件和连接器。集成流中的每一个节点都是一个组件,您可以通过填写参数等配置化的方式按需设置组件。

组成部分

逻辑组件

逻辑组件是对常见编码逻辑的封装,例如:Set Variable(创建一个变量)、Choice(选择,按条件执行分支)。腾讯轻联将编码时常见的业务逻辑封装成开箱即用的逻辑组件,当业务流程需要添加相应的逻辑时,只需在相应节点添加相关组件并进行配置即可,例如:Set Variable 组件添加后只需填写变量名及变量值;Choice 组件添加后可以增删条件分支,同时可以配置每个分支的执行条件。
目前逻辑组件支持的五大逻辑场景:流程控制、数据处理、错误与日志、并行并发和功能型。
逻辑组件名称
组件简介
文档链接(含示例)
Async
Async 属于流程控制类组件,在该组件中,可以配置子流执行异步任务,类似于开辟线程。
Break
Break 组件需要和 For Each 或者 While 组件搭配使用,用来中断循环。
Cache
Cache 组件用于缓存流运行中产生的中间数据,同一个应用中的不同流,可以共享 Cache 组件中缓存的数据。
Choice
Choice 是分支选择语句,基于不同的条件执行不同的动作,类似于 if-else。
Continue
Continue 组件类似于 Break 组件,搭配 For Each 和 While 组件使用。Continue 的作用是跳出当前循环,执行下一次循环。
Flow Reference
Flow Reference 组件用来引用当前应用中的其他集成流。与 Async 不同,Flow Reference 是一个同步动作,当引用的集成流执行完成后,才会继续执行下一个动作。
For Each
For Each 是循环控制结构,类似于编程语言中的 for/foreach,在 For Each 中可以配置子流,对指定的数据集进行循环处理,但是无法指定循环次数。
Logger
Logger 组件用来在控制台输出日志,目前支持 DEBUG、INFO、WARN、ERROR 四种日志级别。
Parallel Foreach
Parallel Foreach 用于并行执行任务,Parallel Foreach 对数据集上的元素并行执行相同的处理逻辑,并行数目依赖于用户配置的最大并行数,当元素数目小于等于最大并行数时,并行数等于元素数目,当元素数目大于最大并行数时,并行数为用户配置的最大并行数。
Raise Error
Raise Error 组件用来抛出异常,中断流的执行。该组件可以单独使用,也可以搭配 Try 组件使用。
Remove Variable
Remove Variable 组件与 Set Variable 组件的作用相反,Remove Variable 组件的作用是删除 message 中的一个指定变量。
Scatter Gather
Scatter Gather 支持并行执行多个任务,该组件中,有两个核心配置,一个是并行数,目前支持的并行数是2~8个,另一个是 worker,每个 worker 中都可以配置一个待执行的任务。
Scheduler
Scheduler 是定时器,用于按设定的规则定时触发一条流,配置中包含一条或多条 Cron 规则,当任意一条 Cron 规则与当前时间匹配时,该定时器所在的集成流将被触发。
Set Payload
Set Payload 可以设置 message 中的 payload 属性,支持表达式和字面量两种输入形式,如果是字面量形式,需要先选择数据类型,再在输入框中填入字面量。如果需要输入表达式,选择 any 类型,写入表达式即可。
Set Variable
Set Variable 的作用是声明一个变量,并保存在 message 的 variables 中,后续节点可通过 msg.vars.get('name') 形式引用该变量。
Synchronized
Synchronized 是一个分布式锁。对并发处理的请求进行加锁保护,可应用在对资源互斥的访问场景中。
Transform
Transform 组件可以对 message 消息进行数据编排和格式转换,支持 payload、attribute 和 variable 的修改。
Try
Try 组件的作用是捕获错误,可以捕获 Try 中子流运行时抛出的错误和系统错误,也可与 Raise Error 组件搭配使用,捕获用户自定义错误。
Until Successful
Until Successful 组件中可以配置子流,该组件的作用是对子流执行重试操作。Until Successful 中可支持3种重试类型:无条件重试、按成功条件重试、按失败条件重试。
While
While 组件是循环类组件,While 组件支持的最大循环次数为10000。与 For Each 组件不同,While 组件的循环并不依赖数据集,而是使用条件语句判断循环是否需要继续,当循环条件为 True 时,会继续循环,直到返回 False 或达到最大的循环次数。
Compress
Compress 组件可对数据进行压缩和解压,支持的压缩和解压方式有:DEFLATE、GZIP、ZLIB。

连接器

连接器是对一种系统交互协议(通用连接器)或一个具体的业务系统(应用连接器)的高度封装,包括鉴权、协议转换、功能接口等内容,例如:DataBase(通用连接器)、腾讯会议(应用连接器)等。可以使用 DataBase 连接器直接访问数据库,也可以使用腾讯会议连接器直接调用腾讯会议的接口能力,使用时不需要理解腾讯会议对外交互的方式及接口鉴权的逻辑,让您零成本进行连接业务系统。
通用连接器
应用连接器
自定义连接器
连接器配置
操作
触发器
表达式
通用连接器是对一些协议的封装,例如:HTTP、SOAP、Kafka、MQ 等,您可以根据业务系统的实际情况,按需选择相对应的协议进行系统连接。
应用连接器时对某个业务系统的封装,例如:腾讯会议、企业微信等,包括业务系统的交互协议、鉴权方式和具体的系统功能(API),您可以零成本调用业务系统对外接口能力,无需理解与业务无关的对接内容。
腾讯云数据连接器平台预置丰富的连接器,若列表中没有您所需要的连接器,您可以自主创建连接器并提交审核,审核通过后将发布在平台供您或其他用户使用。
连接器配置是连接器使用的依赖,不同的连接器需要的配置项不同。例如:HTTP Listener 的连接器配置中需要填写监听域名来明确该 HTTP Listener 具体的监听目标;而腾讯会议连接器需要填写第三方开发的 AppID、SecretKey 等租户凭证信息,来明确该连接器所属的具体用户。同时连接器配置在一个应用中是全局的,新建的连接器可以使用已有的该连接器配置并按需切换。
操作封装由集成应用主动发起的交互,在流中做流程编排和消息处理,并在处理完成后输出一个新的消息。
触发器封装由第三方发起、集成应用被动监听的交互,在流中作为源,在收到第三方系统的交互事件时在流中产生消息。触发流触发器的使用流程与操作基本一致。
表达式让用户可以在创建集成流执行的过程中动态地设置变量的值。在创建集成流阶段配置中,几乎所有的文本框都可以使用表达式。帮助用户在创建集成流执行过程中引用关于系统状态的任意值。且用户可以使用表达式进行复杂的数据处理与表达式运算,以最终生成期望的产出结果,用于下游组件的处理。