目的端为OBS
JSON样例
"to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.bucketName", "value": "cdm" }, { "name": "toJobConfig.outputDirectory", "value": "/obsfrom/advance/" }, { "name": "toJobConfig.outputFormat", "value": "CSV_FILE" }, { "name": "toJobConfig.fieldSeparator", "value": "," }, { "name": "toJobConfig.writeToTempFile", "value": "false" }, { "name": "toJobConfig.validateMD5", "value": "false" }, { "name": "toJobConfig.recordMD5Result", "value": "false" }, { "name": "toJobConfig.encodeType", "value": "UTF-8" }, { "name": "toJobConfig.markerFile", "value": "finish.txt" }, { "name": "toJobConfig.duplicateFileOpType", "value": "REPLACE" }, { "name": "toJobConfig.columnList", "value": "1&2" }, { "name": "toJobConfig.quoteChar", "value": "false" }, { "name": "toJobConfig.encryption", "value": "NONE" }, { "name": "toJobConfig.copyContentType", "value": "false" } ], "name": "toJobConfig" } ] }
参数说明
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
toJobConfig.bucketName |
是 |
String |
OBS的桶名,例如“cdm”。 |
toJobConfig.outputDirectory |
是 |
String |
数据写入路径,例如“data_dir”。 |
toJobConfig.outputFormat |
是 |
枚举 |
写入数据时所用的文件格式(二进制除外),支持以下文件格式:
当选择“BINARY_FILE”时,源端也必须为文件系统。 |
toJobConfig.fieldSeparator |
否 |
String |
列分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“,”。 |
toJobConfig.lineSeparator |
否 |
String |
行分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“\r\n”。 |
toJobConfig.writeFileSize |
否 |
String |
源端为数据库时该参数有效,支持按大小分成多个文件存储,避免导出的文件过大,单位为MB。 |
toJobConfig.duplicateFileOpType |
否 |
枚举 |
重复文件处理方式,只有文件名和文件大小都相同才会判定为重复文件。重复文件支持以下处理方式:
|
toJobConfig.columnList |
否 |
String |
需要抽取的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 |
toJobConfig.encryption |
否 |
枚举 |
选择是否对上传的数据进行加密,以及加密方式:
|
toJobConfig.kmsID |
否 |
String |
上传时加密使用的密钥。需先在密钥管理服务中创建密钥。 |
toJobConfig.projectID |
否 |
String |
KMS密钥所属的项目ID。 |
toJobConfig.writeToTempFile |
否 |
Boolean |
将二进制文件先写入到临时文件(临时文件以“.tmp”作为后缀),迁移成功后,再进行rename或move操作,在目的端恢复文件。 |
toJobConfig.validateMD5 |
否 |
Boolean |
选择是否校验MD5值,不能与KMS加密同时使用。使用二进制格式传输文件时,才能校验MD5值。 计算源文件的MD5值,并与OBS返回的MD5值进行校验。如果源端已经存在MD5文件,则直接读取源端的MD5文件与OBS返回的MD5值进行校验。 |
toJobConfig.recordMD5Result |
否 |
Boolean |
当选择校验MD5值时,这里配置是否记录校验结果。 |
toJobConfig.recordMD5Link |
否 |
String |
可以指定任意一个OBS连接,将MD5校验结果写入该连接的桶。 |
toJobConfig.recordMD5Bucket |
否 |
String |
写入MD5校验结果的OBS桶。 |
toJobConfig.recordMD5Directory |
否 |
String |
写入MD5校验结果的目录。 |
toJobConfig.encodeType |
否 |
String |
编码类型,例如:“UTF_8”或“GBK”。 |
toJobConfig.markerFile |
否 |
String |
当作业执行成功时,会在写入目录下生成一个标识文件,文件名由用户指定,不指定时默认关闭该功能。 |
toJobConfig.copyContentType |
否 |
Boolean |
“toJobConfig.outputFormat”(文件格式)为“BINARY_FILE”,且源端、目的端都为对象存储时,才有该参数。 选择“是”后,迁移对象文件时会复制源文件的Content-Type属性,主要用于静态网站的迁移场景。 归档存储的桶不支持设置Content-Type属性,所以如果开启了该参数,目的端选择写入的桶时,必须选择非归档存储的桶。 |
toJobConfig.quoteChar |
否 |
Boolean |
“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”,才有该参数,用于将数据库的表迁移到文件系统的场景。 选择“是”时,如果源端数据表中的某一个字段内容包含字段分隔符或换行符,写入目的端时CDM会使用双引号(")作为包围符将该字段内容括起来,作为一个整体存储,避免其中的字段分隔符误将一个字段分隔成两个,或者换行符误将字段换行。例如:数据库中某字段为hello,world,使用包围符后,导出到CSV文件的时候数据为"hello,world"。 |
toJobConfig.firstRowAsHeader |
否 |
Boolean |
“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时才有该参数。在迁移表到CSV文件时,CDM默认是不迁移表的标题行,如果该参数选择“是”,CDM在才会将表的标题行数据写入文件。 |
toJobConfig.filePrefix |
否 |
String |
自定义文件名前缀,支持任意自定义名称,也支持表名宏时间宏版本宏。例如:${tableName}_${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)}_${version}。 注意文件名格式要符合obs文件路径命名规范。 |