DataWorks提供HTTP触发器节点,支持您通过调用OpenAPI的方式,从外部环境(如本地环境或跨租户环境)触发某一工作流中的HTTP触发器节点及其后续节点的执行。该功能可帮助您实现本地任务触发,或满足跨租户环境中的任务依赖执行需求。
产品介绍
HTTP触发器节点是一种特殊的虚拟节点,允许你用DataWorks OpenAPI TriggerSchedulerTaskInstance触发本节点及下游节点的调度。
触发器原理
当上游任务节点运行完成,且外部调度系统发出调度指令后,HTTP触发节点才会触发下游任务节点运行。触发使用HTTP触发器节点可参见触发器节点使用示意图。
触发器节点使用示意图
HTTP触发器节点常用于外部环境与DataWorks调度系统的互通。
图示说明:
在数据开发中,创建一个包含HTTP触发器节点的工作流,配置好各节点的依赖关系,并发布到运维中心。
系统会根据调度时间自动生成周期实例。您可以在这些实例中获取HTTP触发器节点的信息(如节点ID、触发时间)。
通过传入这些信息,使用Java、Python代码或调试页面调用OpenAPI接口来触发节点运行。若只需触发某个实例及其后续流程,
TriggerTime
参数可设为固定值。若需动态触发所有实例,则TriggerTime
应设为动态变量。HTTP触发器节点接收到并校验触发命令后,将依次执行后续节点。
触发条件
触发HTTP触发器节点需要满足以下条件:
HTTP触发器节点已经生成周期实例(在运维中心周期实例中可以找到该实例)。该实例在未被TriggerSchedulerTaskInstanceAPI成功触发前,将处于等待触发状态,其下游节点将被阻塞,直至成功调用
TriggerSchedulerTaskInstance
API触发HTTP触发器节点执行完成后,下游节点依次执行。HTTP触发器节点所依赖的所有父节点都已经执行成功(实例为成功状态)。
HTTP触发器节点生成的周期实例定时时间已到。
HTTP触发器节点使用的调度资源组,在触发时间点资源充足。
HTTP触发器节点处于非冻结状态。
仅在等待触发状态下的HTTP触发器节点才可被触发(已成功触发过的节点再次触发将不会执行)。
注意事项
当上游任务节点运行完成,且外部环境发出调度指令后,HTTP触发节点才会触发下游任务节点运行。
如果外部环境提前发出调度指令,但是上游任务节点没有运行完成,HTTP触发节点不会触发下游任务节点。系统会保留外部环境的调度指令,待上游任务运行完成后,再通过HTTP触发节点触发下游任务节点运行。
说明外部环境的触发指令仅保留24小时。如果24小时内上游任务节点没有运行完成,则触发指令会丢失,外部环境本次发出的调度指令失效。
当前HTTP触发器节点实例被触发执行成功后,不可再进行二次触发。
前提条件
RAM账号添加至对应空间(可选)。
进行任务开发的RAM账号已被添加至对应工作空间中,并具有开发或空间管理员(权限较大,谨慎添加)角色权限。添加成员并授权,详情请参见为工作空间添加空间成员。
对应空间已绑定Serverless资源组。详情请参见:使用Serverless资源组。
进行HTTP触发器节点开发前,需创建对应的HTTP触发器节点,详情请参见:创建周期任务。
使用限制
HTTP触发器节点功能仅适用DataWorks企业版及以上版本,DataWorks版本详情请参见DataWorks各版本详解。
HTTP触发器节点仅用于触发任务,无法作为计算型任务使用。您需要将待运行的任务节点设置为HTTP触发器节点的下游节点,以实现任务的触发和执行。
创建HTTP触发器节点
新建HTTP触发器节点
新建入口参考:创建HTTP触发器节点。
配置HTTP触发器节点
新建HTTP触发节点后,在HTTP触发节点编辑页面右侧的调度配置中配置以下参数。更多参数配置,详情请参见节点调度。
参数 | 说明 |
调度资源组 | 选择您所绑定的Serverless资源组。 |
实例生成方式 | 可选择T+1次日生成或发布后即时生成。 |
HTTP触发器节点为空节点,无需编写节点内容。
HTTP触发器节点上游无节点时,默认上游节点为业务流程的根节点。
发布HTTP触发器节点
其他调度环境的触发配置
外部调度环境中进行触发配置时,您需要将获取到的HTTP触发节点实例参数配置到以下任一方式中,并通过调用TriggerSchedulerTaskInstance
接口来触发HTTP触发器节点的执行。
获取HTTP触发节点实例参数
您可根据配置HTTP触发器节点时选择的实例生成方式,在运维中心查看并记录HTTP实例参数信息。
T+1次日生成:需要次日去运维中心查看并记录HTTP实例参数信息。
发布后即时生成:可立即前往运维中心查看并记录HTTP实例参数信息。
进入运维中心页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入运维中心。
在左侧导航栏单击
,进入周期实例页面。在列表中找到您所创建的HTTP触发器节点实例,记录实例的任务ID和定时时间。
说明鼠标悬浮到HTTP触发器节点实例的名称上方,即可查看实例的任务ID。
相关文档
DataWorks提供HTTP触发器节点功能,能够在跨租户的场景中实现任务的触发与执行,详情请参见HTTP触发器节点实现跨租户触发节点执行。