
# 目的端为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        | 是    | 枚举      | 写入数据时所用的文件格式（二进制除外），支持以下文件格式： - CSV_FILE：按照CSV格式写入数据。  - BINARY_FILE：二进制格式，不解析文件内容直接传输，CDM会原样写入文件，不改变原始文件格式。   当选择"BINARY_FILE"时，源端也必须为文件系统。                                                                                                    |
| toJobConfig.fieldSeparator      | 否    | String  | 列分割符号，当"toJobConfig.outputFormat"（文件格式）为"CSV_FILE"时此参数有效，默认值为：","。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| toJobConfig.lineSeparator       | 否    | String  | 行分割符号，当"toJobConfig.outputFormat"（文件格式）为"CSV_FILE"时此参数有效，默认值为："\\r\\n"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| toJobConfig.writeFileSize       | 否    | String  | 源端为数据库时该参数有效，支持按大小分成多个文件存储，避免导出的文件过大，单位为MB。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| toJobConfig.duplicateFileOpType | 否    | 枚举      | 重复文件处理方式，只有文件名和文件大小都相同才会判定为重复文件。重复文件支持以下处理方式： - REPLACE：替换重复文件。  - SKIP：跳过重复文件。  - ABANDON：发现重复文件停止任务。   |
| toJobConfig.columnList          | 否    | String  | 需要抽取的字段列表，字段名之间使用"\&"分割，例如："id\&gid\&name"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| toJobConfig.encryption          | 否    | 枚举      | 选择是否对上传的数据进行加密，以及加密方式： - NONE：不加密，直接写入数据。  - KMS：使用密码安全中心中的KMS进行加密。如果启用KMS加密则无法进行数据的MD5校验。                                                                                                                                                             |
| 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文件路径命名规范。                                                                                                                                                                                                                                                                                                                                                                                          |
   
