[DataX] DataX动态传参 - Column数组传参

发布时间 2023-11-09 15:03:52作者: WikiChen

 

今天在CMD中执行命令,想着怎么动态传递列名,找了好久,没看到网上有写如何传列名的,自己试了下,找了很多双引号的转义,结果都不行,比如三个双引号""" (完全没效果),unicode的\u0022 (转义成\"了,不是想要的").

最后在Github找到了答案。

column作为变量传到json中解析不正确 · Issue #1976 · alibaba/DataX · GitHub

 

首先,在json文件中定义一个变量,如$COLUMN

 

因为json文件中 $COLUMN前后已经有双引号了(这个双引号必须要有的,不然执行命令时会提示JSON不正确),所以实际传参的时候首尾都不加双引号。

传参时,每个双引号需转义,用三个 \ 加 一个 “ 组成 \\\" 。

 python datax.py -p '-DCOLUMN=COLUMN1\\\",\\\"COLUMN2\\\",\\\"COLUMN3'  XXX.json