usage.txt 4.7 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1
ZenData是一款通用的数据生成工具,您可以使用yaml文件来定义您的数据格式,然后交由zendata生成。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
2 3 4 5 6 7 8 9 10 11

参数:

  -d  --default    默认的数据格式配置文件。
  -c  --config     当前场景的数据格式配置文件,可以覆盖默认文件里面的设置。
  -o  --output     生成的数据的文件名。可通过扩展名指定输出json|xml|sql格式的数据。默认输出原始格式的文本数据。
  -n  --lines      要生成的记录条数,默认为10条。

  -F  --field      可通过该参数指定要输出的字段列表,用逗号分隔。 默认是所有的字段。
  -t  --table      输出格式为sql时,需通过该参数指定要插入数据的表名。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
12
  -T  --trim       输出的字段去除前后缀,通常用在生成SQL格式的输出。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
13
  -H  --human      输出可读格式,打印字段名,并使用tab键进行分割。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
14 15
  -r  --recursive  递归模式。如不指定,默认为平行模式。平行模式下各个字段独立循环。
                   递归模式下每个字段的取值依赖于前一字段。可增强数据的随机性。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
16

aaronchen2k2k's avatar
aaronchen2k2k 已提交
17 18
  -p  --port       在指定端口上运行HTTP服务。可通过http://ip/接口获得JSON格式的数据。服务模式下只支持数据生成。
  -b  --bind       监听的ip地址,默认监听所有的ip地址。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
19
  -R  --root       运行HTTP服务时根目录。客户端可调用该根目录下面的配置文件。如果不指定,取zd可执行文件所在目录。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
20 21

  -i  --input      指定一个schema文件,输出每个表的yaml配置文件。需通过-o参数指定一个输出的目录。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
22
  -D  --decode     根据指定的配置文件,将通过-i参数指定的数据文件解析成json格式。
23
  -a  --article    将指定的文件或目录下扩展名为.txt的文件,转换成文章yaml配置,输出到-o参数指定的目录下。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
24 25 26 27

  -l  --list       列出所有支持的数据格式。
  -v  --view       查看某一个数据格式的详细定义。
  -h  --help       打印帮助。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
28
  -e  --example    打印示例的数据格式配置文件。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
29 30 31

命令行模式举例:

32 33 34 35
$>zd.exe -d demo\default.yaml                                        # 根据-d参数指定的配置文件生成10条记录。
$>zd.exe -c demo\default.yaml                                        # 根据-c参数指定的配置文件生成10条记录。
$>zd.exe -c demo\default.yaml -r                                     # 根据-c参数指定的配置文件,采用递归的方式生成10条记录。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100               # -c和-d两个文件的配置合并,输出100条记录。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
36

37 38 39
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.txt   # 输出原始格式的数据。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.json  # 输出json格式的数据。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.xml   # 输出xml格式的数据。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
40 41
$>zd.exe -d demo\default.yaml -n 100 -o test.sql -t user             # 输出针对user表的insert语句。
$>zd.exe -d demo\default.yaml -n 100 -o test.sql -t user --trim      # 输出针对user表的insert语句,去掉前缀和后缀。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
42

aaronchen2k2k's avatar
aaronchen2k2k 已提交
43
$>zd.exe -i demo\zentao.sql -o db                                    # 根据sql的定义生成各表的yaml文件,存储到db目录里面。
44
$>zd.exe -c demo\default.yaml -i test.txt --decode                   # 将-i指定的文件根据-d参数的配置进行解析。
45
$>zd.exe -a demo\article.txt -o demo                                # 转换文章为yaml配置,输出到demo目录下。
aaronchen2k2k's avatar
1.1  
aaronchen2k2k 已提交
46

47
$>zd.exe -l                                                          # 列出所有內置数据。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
48 49 50
$>zd.exe -v address.cn.v1                                            # 查看內置Excel文件data/address/cn.v1.xlsx中的数据表。
$>zd.exe -v address.cn.v1.china                                      # 查看內置Excel文件china数据表中的数据。
$>zd.exe -v ip.v1.yaml                                               # 查看內置文件yaml/ip/v1.yaml定义的数据。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
51 52 53

服务模式举例:

54
$zd.exe -p 80                                                        # 监听80端口,以zd.exe文件所在目录为根目录。
55
$zd.exe -p 80 -R d:\zd\config                                        # 监听80端口,以d:\zd\config为根目录。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
56 57 58

客户端调用:

aaronchen2k2k's avatar
aaronchen2k2k 已提交
59 60 61
$curl http://localhost:8848/?d=demo/default.yaml&c=demo/config.yaml&n=100           # 通过GET方式指定服务器端配置文件。
$curl http://localhost:8848/?default=demo/default.yaml&output=test.sql&table=user   # 参数名可以用全拼。
$curl -i -X POST http://localhost:8848?lines=3 -F default=@demo/default.yaml        # 可以通过POST方式上传配置文件。