Restcloud ETL解决shell脚本参数化

RestCloud RestCloud   |    250   |    2022-07-31 18:22

RestCloud平台中如何将变量传入shell脚本中使用,平台中有两种方式运行shell脚本,分别是组件内编写脚本代码和调用脚本文件,轻松解决获取变量的方式。

1. 组件内编写脚本

组件内编写脚本的变量获取方式与其它组件获取变量的方式相同,使用${变量id}就可以获取到变量数据。如下图所示:

7f604bf5f5b64b69a8fbf2e574a9d60a

这里做个简单的流程,把数据库表中的某个字段数据作为变量逐条输入到shell脚本当中。

79a25c8567494159849cc13a881e6903

这里是数据库数据,流程中会将姓名作为变量。

库表输入组件的配置这边略过,简单的能够成功读取输出数据就行。

d3d2cce49f2a477fbc593875326182bf
逐行输出这里需要将字段数据转成为变量数据输出到下一个节点。

ffa8473c983a4ac7a5647c3a8d48a2e6

这里是shell脚本配置,写个简单的脚本,使用${变量id}调用上个节点传入的变量数据。

dc1809d425054105a00b8faaf77da66e
运行之后可以看见已经成功通过${姓名}获取到了数据库输出的数据。

2. 调用脚本文件

这个是调用已经写好的shell脚本文件,脚本文件中不用定义变量的名字,直接使用 $变量id 这种方式调用就可以成功调用流程中传入的变量。如下图:

这里同样采用上面的流程和数据库,只是稍微修改了一下shell组件的脚本内容。

aeba1a1f70014f3da674baae45275577

因为是读取的脚本文件,这里需要填写一下脚本所在的目录。在shell脚本中运行文件以及使用${变量id}来获取变量即可,注意:若是多个变量就需要注意变量的顺序。

dbba36ec7b454340aef20df8d14dff88
这里进入到文件所在目录后使用pwd查看当前所在的路径地址。

b56a26305bb2497e9b9980146f2ea144
使用vim 文件名称 进入脚本文件编辑脚本代码,这里简单的打印第一个变量和一个hello,在文件中使用11~n来添加传到Shell的变量值。1是第1变量、1是第1变量、2是第2变量…。

配置完成,运行后查看结果。

f98e7e50a2e946c69426b3506e858f50

可以看到shell成功获取了变量数据,输出到了日志中。

文章标签: 其他
推荐指数:

真诚点赞 诚不我欺

Restcloud ETL解决shell脚本参数化

点赞 收藏 评论 分享

关于作者

RestCloud
RestCloud

Restcloud是一家数据集成自动化创新企业,致力于成为世界级的数据集成平台研发型企业。致力于打破国外企业在数据集成领域的垄断地位,决定推出数据集成工具社区版,以满足国内数据集成工程师的广泛需求。

等级 LV3

粉丝 40

获赞 340

经验 501