更新时间:2023-09-27 GMT+08:00
获取Rest Client节点返回值教程
Rest Client节点可以执行华为云内的RESTful请求。
本教程主要介绍如何获取Rest Client的返回值,包含以下两个使用场景举例。
通过“响应消息体解析为传递参数定义”获取返回值
如图1所示,第一个Rest Client调用了MRS服务查询集群列表的API,图2为API返回值的JSON消息体。
- 使用场景:需要获取集群列表中第一个集群的cluster Id,然后作为参数传递给后面的节点使用。
- 关键配置:在第一个Rest Client的“响应消息体解析为传递参数定义”配置中,配置clusterId=clusters[0].clusterId,后续的Rest Client节点就可以用${clusterId}的方式引用到集群列表中的第一个集群的cluster Id。
响应消息体解析为参数传递定义时,传递的参数名(例如clusterId)在该作业的所有节点参数中需要保持唯一性,避免和其他参数同名。
通过EL表达式获取返回值
Rest Client算子可与EL表达式相配合,根据具体的场景选择不同的EL表达式来实现更丰富的用法。您可以参考本教程,根据您的实际业务需要,开发您自己的作业。EL表达式用法可参考EL表达式。
如图3所示,Rest Client调用了MRS服务查询集群列表的API,然后执行Kafka Client发送消息。
- 使用场景:Kafka Client发送字符串消息,消息内容为集群列表中第一个集群的cluster Id。
- 关键配置:在Kafka Client中使用如下EL表达式获取Rest API返回消息体中的特定字段:#{JSONUtil.toString(JSONUtil.path(Job.getNodeOutput("Rest_Client_4901"),"clusters[0].clusterId"))}
父主题: 使用教程