DataWorks HTTP节点提供低代码方式调用外部HTTP/HTTPS接口的能力,无需通过Shell或Python节点封装请求即可在工作流中集成第三方服务、获取远程数据或触发外部任务。HTTP节点的返回结果会自动写入输出参数(outputs),下游节点可直接消费。
权限说明
进行节点开发的RAM账号已被添加至对应工作空间中,并具有开发或空间管理员角色权限。详情请参见为工作空间添加空间成员。
使用限制
该功能目前正在灰度测试中,下游节点若需消费HTTP节点的参数,需要联系技术人员升级下游节点镜像。
资源组:HTTP节点仅支持在Serverless资源组上运行,请确保工作空间已绑定可用的Serverless资源组。
协议支持:仅支持
HTTP和HTTPS协议,协议类型由您填写的URL自动解析。网络访问:若目标接口存在IP白名单限制,需将Serverless资源组的出口IP添加至目标端白名单。详情请参见添加Serverless资源组对应IP。
输出参数:HTTP节点会将响应结果整体写入
outputs参数,单次最大传递值为2 MB。下游节点引用outputs消费数据时,推荐响应内容为JSON格式以便结构化解析。同步执行:HTTP节点为同步调用节点,不适用于长连接或长轮询场景。需轮询等待的外部任务,建议采用「触发 + 多次HTTP查询」的工作流编排模式。
快速入门
以下示例介绍HTTP节点的创建、调试、调度配置与发布全流程,目标接口以公开的https://httpbin.org/get为例。
节点开发
登录DataWorks控制台,切换至目标地域后,在左侧导航栏单击,在下拉框中选择目标工作空间后单击进入。
在数据开发(Data Studio)页面,新建HTTP节点。
在HTTP节点编辑页填写请求配置项,主要配置项如下表所示,完整说明请参见节点配置项。
配置项
示例值
请求地址
https://httpbin.org/get请求类型
GET安全认证
无认证
校验条件
默认响应码(响应码
2xx视为成功)完成配置后,在右侧单击运行配置,选择目标Serverless调试资源组及其他必要执行参数,随后单击运行按钮,触发本地化调试执行。运行结束后,在下方结果面板查看HTTP响应状态码与响应体内容。
调试通过后,在右侧单击调度配置,完成调度周期、依赖关系、参数设置等生产级调度策略配置,以支撑节点按计划周期性自动执行。
完成任务调度配置后,需对节点进行保存后,才可进行下一步操作。
节点发布与运维
节点配置项
HTTP节点的配置项分为基础信息、请求参数、超时设置、安全认证与校验条件五类,各配置项说明如下。
基础信息
配置项 | 是否必填 | 说明 |
请求地址 | 是 | 完整的HTTP或HTTPS请求URL,例如 |
请求类型 | 是 | 支持 |
请求参数
请求参数支持以键值对形式填写以下三类内容,每一类均支持引用调度参数。
参数类型 | 说明 |
查询参数 | URL查询参数(Query String),以 |
请求头 | 请求头,可填写 |
请求体 | 请求体内容,可填写JSON、表单或纯文本数据。仅 |
超时设置
配置项 | 默认值 | 说明 |
连接超时 | 30000 ms | 从发起TCP连接到完成建立的最长等待时间。超出该时间未建立连接视为请求失败。 |
Socket超时 | 60000 ms | 连接建立后,单次数据读取的最长等待时间。超出该时间未收到响应数据视为请求失败。 |
安全认证
HTTP节点支持以下四种安全认证方式,您可根据接口要求选择。
认证方式 | 说明 |
无认证 | 不携带任何认证信息,适用于公开接口或已通过IP白名单授权的内部接口。 |
Basic Auth | 基于用户名 + 密码的HTTP基础认证。配置用户名和密码后,HTTP节点会自动在请求头中添加 |
Bearer Token | 直接配置静态Token,HTTP节点会在请求头中携带该Token。适用于已经签发好的长期Token场景。 |
API-Key | 通过API-key进行认证,请在「请求头」中添加自定义 Header(如 X-API-Key)。 |
敏感凭证(如密码、Token、客户端密钥)通过DataWorks工作空间参数-密文参数来注入,避免在节点配置中明文存储。
校验条件
HTTP节点根据校验条件判断本次请求是否成功,仅当校验条件命中时节点才视为运行成功。支持以下四种校验方式,可叠加使用。
校验类型 | 说明 |
状态码校验 | 默认行为:HTTP响应状态码为 |
内容包含 | 选择此项后会展开内容输入框,您可填写期望出现的字符串。仅当响应体中包含该字符串时,节点才视为成功。适用于响应码不可靠、但响应内容有固定标识的接口。 |
内容不包含 | 选择此项后会展开内容输入框,您可填写不应出现的字符串(例如 |
调度配置与参数
HTTP节点的调度配置与MaxCompute SQL等调度类节点保持一致,支持调度周期、依赖关系、调度参数等设置。详情请参见节点调度配置。
调度参数可在请求地址、请求参数、请求头、请求体中通过${参数名}的方式引用。例如:
在请求地址中按业务日期分区拉取数据:
https://api.example.com/v1/logs?date=${bizdate}。在请求体中按调度参数构造JSON:
{"date":"${bizdate}","region":"cn-hangzhou"}。
仅支持选择Serverless资源组作为调度资源组。
如需引用上游节点的输出参数,可在中添加参数,再通过
${参数名}方式注入到请求中。
输出参数与下游消费
HTTP节点会将本次请求的响应结果整体写入名为outputs的节点输出参数,下游节点可通过节点上下文参数引用该值并在代码中消费。该机制与赋值节点一致。
为便于下游节点结构化解析,建议被调用接口返回JSON格式响应。
常见问题
Q:HTTP节点与HTTP触发器节点有什么区别?
A:两者用途完全不同。
HTTP节点(本文):是主动发起HTTP请求的执行节点,由DataWorks调度运行,向外部接口发送请求并取回响应。
HTTP触发器节点:是被动等待触发的虚拟节点,等待外部系统通过DataWorks OpenAPI触发后,启动其下游节点的调度。
Q:为什么HTTP节点只能在Serverless资源组上运行?
A:HTTP节点底层依赖Serverless资源组的运行时环境,独享调度资源组或公共调度资源组尚未集成此节点类型。请确保工作空间已绑定可用的Serverless资源组。
Q:返回的响应不是JSON格式,下游节点应如何消费?
A:响应非JSON时,
outputs会以字符串形式保存原始响应内容。下游节点引用${参数名}可获取整段字符串,再由下游节点(Shell、Python等)自行解析。Q:目标接口存在IP白名单限制,请求被拒绝怎么办?
A:将工作空间所绑定的Serverless资源组对应的出口IP添加到目标接口的IP白名单。详情请参见添加Serverless资源组对应IP至目标端。
Q:请求超时频繁失败,如何调优?
A:根据被调用接口的实际响应耗时调整连接超时和Socket超时。若接口本身耗时较长,建议采用「异步任务编排」模式:HTTP节点触发任务后,使用循环节点 + HTTP节点轮询任务状态,而不是单个HTTP节点长时间等待。