DGC数据开发 --- Rest Client算子使用指南

举报
JQIU 发表于 2021/05/10 16:45:31 2021/05/10
【摘要】 介绍DGC数据开发中Rest Client算子的基本使用场景

【场景一】多个Rest Client配合使用,后一个Rest Client引用前一个Rest Client的response返回体

如下图所示,第一个Rest Client调用了MRS服务查询集群列表的API,参照图2,图2中为第一个Rest Client的返回值的JSON消息体,我们要获取返回的集群列表中的第一个集群的cluster Id属性,作为参数传递给第二个Rest Client使用,那么我们可以在第一个Rest Client的“响应消息体解析为传递参数定义”配置中,配置clusterId=clusters[0].clusterId,后续的Rest Client节点就可以用${clusterId}的方式引用到集群列表中的第一个集群的cluster Id。

第二个Rest Client调用了MRS服务查询某个集群详情的API,请求URL中需要获取到cluster Id,此时就可以用${clusterId}的方式获取到前一个节点的查询结果了。

测试运行之后查看日志,可以看到${clusterId}已经被替换为对应的集群ID。

【场景二】用EL表达式获取Rest API返回的JSON里的某些值

可以使用如下EL表达式获取Rest API返回消息体中的特定字段:

#{JSONUtil.toString(JSONUtil.path(Job.getNodeOutput("Rest_Client_4901"),"clusters[0].clusterId"))}

【常见问题】

Q1:Rest Client可以调用哪些接口?

A1:如果不选择代理集群,那么Rest Client只能调用华为云上各个服务管理面的API。如果选择了代理CDM集群,那么Rest Client可以调通租户面的API,前提是第三方服务与所选择的CDM集群处于同一个VPC下。

Q2:Rest Client调不通我的API怎么办?

A2:由于网络限制,Rest Client有些API是无法调通的。这种情况下可以尝试使用SHELL脚本,创建一台ECS机器,确保ECS主机跟你要调用的API之间网络可通,然后在DGC创建一个主机连接,然后在SHELL脚本中使用CURL命令进行API调用。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。