华为云用户手册

  • 请求示例 创建一个名为mysql_link的数据连接。 POST /v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/6ec9a0a4-76be-4262-8697-e7af1fac7920/cdm/link { "links" : [ { "link-config-values" : { "configs" : [ { "inputs" : [ { "name" : "linkConfig.databaseType", "value" : "MYSQL" }, { "name" : "linkConfig.host", "value" : "100.94.8.163" }, { "name" : "linkConfig.port", "value" : "3306" }, { "name" : "linkConfig.database", "value" : "DB_name" }, { "name" : "linkConfig.username", "value" : "username" }, { "name" : "linkConfig.password", "value" : "DB_password" }, { "name" : "linkConfig.fetchSize", "value" : "100000" }, { "name" : "linkConfig.usingNative", "value" : "false" } ], "name" : "linkConfig" } ] }, "name" : "mysql_link", "creation-date" : 1496654788622, "connector-name" : "generic-jdbc-connector", "update-date" : 1496654788622, "enabled" : true } ] }
  • 响应参数 状态码: 200 表10 响应Body参数 参数 参数类型 描述 name String 连接名称 validation-result Array of validationResult objects 校验结构:如果创建连接失败,返回失败原因,请参见validation-result参数说明。如果创建成功,返回空列表。 表11 validationResult 参数 参数类型 描述 linkConfig Array of validationLinkConfig objects 创建或更新连接校验结果,请参见linkConfig参数说明 表12 validationLinkConfig 参数 参数类型 描述 message String 错误描述 status String ERROR,WARNING 枚举值: ERROR WARNING 状态码: 400 表13 响应Body参数 参数 参数类型 描述 code String 返回编码 errCode String 错误码 message String 报错信息 externalMessage String 附加信息 状态码: 500 表14 响应Body参数 参数 参数类型 描述 message String 错误描述 status String ERROR,WARNING 枚举值: ERROR WARNING
  • 响应示例 状态码: 200 OK { "name" : "rdb_link", "validation-result" : [ { } ] } 状态码: 400 请求错误 { "code" : "Cdm.0315", "errCode" : "Cdm.0315", "message" : "Link name [ftp_link] already exist or created by other user.", "externalMessage" : "Link name [ftp_link] already exist or created by other user." } 状态码: 500 服务内部错误,具体返回错误码请参考错误码 { "validation-result" : [ { "linkConfig" : [ { "message" : "Can't connect to the database with given credentials: The authentication type 12 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it is using an authentication scheme supported by the driver.", "status" : "ERROR" } ] } ] }
  • URI POST /v1.1/{project_id}/clusters/{cluster_id}/cdm/link 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参见项目ID和账号ID cluster_id 是 String 集群ID 表2 Query参数 参数 是否必选 参数类型 描述 validate 否 String 为“true”时,此API仅校验参数是否正确,不创建连接
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 links 是 Array of links objects 连接列表,请参见links数据结构说明 表5 links 参数 是否必选 参数类型 描述 link-config-values 是 link-config-values object 连接参数配置,请参见link-config-values参数说明 creation-user 否 String 创建连接的用户 name 是 String 连接名称 id 否 Integer 连接ID creation-date 否 Long 创建连接的时间 connector-name 是 String 连接器名称,对应的连接参数如下:generic-jdbc-connector:关系数据库连接。obs-connector:OBS连接。hdfs-connector:HDFS连接。hbase-connector:HBase连接、CloudTable连接。hive-connector:Hive连接。ftp-connector/sftp-connector:FTP/SFTP连接。mongodb-connector:MongoDB连接。redis-connector:Redis/D CS 连接。kafka-connector:Kafka连接。dis-connector:DIS连接。elasticsearch-connector:Elasticsearch/ 云搜索服务 连接。dli-connector: DLI 连接。 -http-connector:HTTP/HTTPS连接,该连接暂无连接参数。dms-kafka-connector:DMSKafka连接 update-date 否 Long 更新连接的时间 enabled 否 Boolean 是否激活连接,默认为“true” update-user 否 String 更新连接的用户 表6 link-config-values 参数 是否必选 参数类型 描述 configs 是 Array of configs objects 连接配置参数数据结构,请参见configs参数说明。 extended-configs 否 extended-configs object 扩展配置,请参见extended-configs参数说明。 validators 否 Array of strings 校验器 表7 configs 参数 是否必选 参数类型 描述 inputs 是 Array of Input objects 输入参数列表,列表中的每个参数为“name,value”结构,请参考inputs数据结构参数说明。在“from-config-values”数据结构中,不同的源连接类型有不同的“inputs”参数列表,请参见源端作业参数说明下的章节。在“to-config-values”数据结构中,不同的目的连接类型有不同的“inputs”参数列表,请参见目的端作业参数说明下面的子章节。在“driver-config-values”数据结构中,“inputs”具体参数请参见作业任务参数说明。 name 是 String 配置名称:源端作业的配置名称为“fromJobConfig”。目的端作业的配置名称为“toJobConfig”,连接的配置名称固定为“linkConfig”。 id 否 Integer 配置ID,由系统生成,用户无需填写。 type 否 String 配置类型,由系统生成,用户无需填写。值为LINK或者JOB,如果是连接管理API,则为LINK;如果是作业管理API,则为JOB。 表8 Input 参数 是否必选 参数类型 描述 name 是 String 参数名: 如果是连接管理API,则以“linkConfig.”开头,对于不同连接类型有不同的参数,具体可参见连接参数说明下相应连接的参数说明。 如果是作业管理API,对于源端连接参数,则以“fromJobConfig.”开头,具体可参见源端作业参数说明下相应的源端参数说明;对于目的端连接参数,则以“toJobConfig.”开头,具体可参见目的端作业参数说明下相应的目的端参数说明;对于作业任务参数,请参见作业任务参数说明下相应的任务参数说明。 value 是 String 参数值,参数名对应的值,必须填写为字符串 type 否 String 值类型,如STRING、INTEGER,由系统设定,用户无需填写。 表9 extended-configs 参数 是否必选 参数类型 描述 name 否 String 名称 value 否 String 值
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.database 是 String MongoDB/DDS的数据库名称 toJobConfig.collectionName 是 String MongoDB/DDS的集合名称。 toJobConfig.columnList 否 String 需要抽取的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 toJobConfig.isBatchMigration 否 Boolean 是否为整库迁移。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.database", "value": "demo" }, { "name": "toJobConfig.collectionName", "value": "cdmbase" }, { "name": "toJobConfig.columnList", "value": "_char&_varchar" }, { "name": "toJobConfig.isBatchMigration", "value": "false" } ], "name": "toJobConfig" } ] }
  • 响应示例 状态码: 200 OK { "validation-result" : [ { } ] } 状态码: 500 服务内部错误,具体返回错误码请参考错误码 { "validation-result" : [ { "linkConfig" : [ { "message" : "Can't connect to the database with given credentials: The authentication type 12 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it is using an authentication scheme supported by the driver.", "status" : "ERROR" } ] } ] }
  • 响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述 validation-result Array of validationResult objects 校验结构:如果创建连接失败,返回失败原因,请参见validation-result参数说明。如果创建成功,返回空列表。 表10 validationResult 参数 参数类型 描述 linkConfig Array of validationLinkConfig objects 创建或更新连接校验结果,请参见linkConfig参数说明 表11 validationLinkConfig 参数 参数类型 描述 message String 错误描述 status String ERROR,WARNING 枚举值: ERROR WARNING 状态码: 500 表12 响应Body参数 参数 参数类型 描述 message String 错误描述 status String ERROR,WARNING 枚举值: ERROR WARNING
  • 请求示例 修改一个名为mysql_link的数据连接。 PUT /v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/6ec9a0a4-76be-4262-8697-e7af1fac7920/cdm/link/rdb_link { "links" : [ { "link-config-values" : { "configs" : [ { "inputs" : [ { "name" : "linkConfig.databaseType", "value" : "MYSQL" }, { "name" : "linkConfig.host", "value" : "100.94.8.163" }, { "name" : "linkConfig.port", "value" : "3306" }, { "name" : "linkConfig.database", "value" : "DB_name" }, { "name" : "linkConfig.username", "value" : "username" }, { "name" : "linkConfig.password", "value" : "DB_password" }, { "name" : "linkConfig.fetchSize", "value" : "100000" }, { "name" : "linkConfig.usingNative", "value" : "false" } ], "name" : "linkConfig" } ] }, "name" : "mysql_link", "creation-date" : 1496654788622, "connector-name" : "generic-jdbc-connector", "update-date" : 1496654788622, "enabled" : true } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 links 是 Array of links objects 连接列表,请参见links数据结构说明 表4 links 参数 是否必选 参数类型 描述 link-config-values 是 link-config-values object 连接参数配置,请参见link-config-values参数说明 creation-user 否 String 创建连接的用户 name 是 String 连接名称 id 否 Integer 连接ID creation-date 否 Long 创建连接的时间 connector-name 是 String 连接器名称,对应的连接参数如下:generic-jdbc-connector:关系数据库连接。obs-connector:OBS连接。hdfs-connector:HDFS连接。hbase-connector:HBase连接、CloudTable连接。hive-connector:Hive连接。ftp-connector/sftp-connector:FTP/SFTP连接。mongodb-connector:MongoDB连接。redis-connector:Redis/DCS连接。kafka-connector:Kafka连接。dis-connector:DIS连接。elasticsearch-connector:Elasticsearch/ 云搜索 服务连接。dli-connector:DLI连接。 -http-connector:HTTP/HTTPS连接,该连接暂无连接参数。dms-kafka-connector:DMSKafka连接 update-date 否 Long 更新连接的时间 enabled 否 Boolean 是否激活连接,默认为“true” update-user 否 String 更新连接的用户 表5 link-config-values 参数 是否必选 参数类型 描述 configs 是 Array of configs objects 连接配置参数数据结构,请参见configs参数说明。 extended-configs 否 extended-configs object 扩展配置,请参见extended-configs参数说明。 validators 否 Array of strings 校验器 表6 configs 参数 是否必选 参数类型 描述 inputs 是 Array of Input objects 输入参数列表,列表中的每个参数为“name,value”结构,请参考inputs数据结构参数说明。在“from-config-values”数据结构中,不同的源连接类型有不同的“inputs”参数列表,请参见源端作业参数说明下的章节。在“to-config-values”数据结构中,不同的目的连接类型有不同的“inputs”参数列表,请参见目的端作业参数说明下面的子章节。在“driver-config-values”数据结构中,“inputs”具体参数请参见作业任务参数说明。 name 是 String 配置名称:源端作业的配置名称为“fromJobConfig”。目的端作业的配置名称为“toJobConfig”,连接的配置名称固定为“linkConfig”。 id 否 Integer 配置ID,由系统生成,用户无需填写。 type 否 String 配置类型,由系统生成,用户无需填写。值为LINK或者JOB,如果是连接管理API,则为LINK;如果是作业管理API,则为JOB。 表7 Input 参数 是否必选 参数类型 描述 name 是 String 参数名: 如果是连接管理API,则以“linkConfig.”开头,对于不同连接类型有不同的参数,具体可参见连接参数说明下相应连接的参数说明。 如果是作业管理API,对于源端连接参数,则以“fromJobConfig.”开头,具体可参见源端作业参数说明下相应的源端参数说明;对于目的端连接参数,则以“toJobConfig.”开头,具体可参见目的端作业参数说明下相应的目的端参数说明;对于作业任务参数,请参见作业任务参数说明下相应的任务参数说明。 value 是 String 参数值,参数名对应的值,必须填写为字符串 type 否 String 值类型,如STRING、INTEGER,由系统设定,用户无需填写。 表8 extended-configs 参数 是否必选 参数类型 描述 name 否 String 名称 value 否 String 值
  • 响应示例 状态码: 200 ok { "total" : 1, "jobs" : [ { "job_type" : "NORMAL_JOB", "from-connector-name" : "elasticsearch-connector", "to-config-values" : { "configs" : [ { "inputs" : [ { "name" : "toJobConfig.streamName", "value" : "dis-lkGm" }, { "name" : "toJobConfig.separator", "value" : "|" }, { "name" : "toJobConfig.columnList", "value" : "1&2&3" } ], "name" : "toJobConfig" } ] }, "to-link-name" : "dis", "driver-config-values" : { "configs" : [ { "inputs" : [ { "name" : "throttlingConfig.numExtractors", "value" : "1" }, { "name" : "throttlingConfig.submitToCluster", "value" : "false" }, { "name" : "throttlingConfig.numLoaders", "value" : "1" }, { "name" : "throttlingConfig.recordDirtyData", "value" : "false" } ], "name" : "throttlingConfig" }, { "inputs" : [ ], "name" : "jarConfig" }, { "inputs" : [ { "name" : "schedulerConfig.isSchedulerJob", "value" : "false" }, { "name" : "schedulerConfig.disposableType", "value" : "NONE" } ], "name" : "schedulerConfig" }, { "inputs" : [ ], "name" : "transformConfig" }, { "inputs" : [ { "name" : "retryJobConfig.retryJobType", "value" : "NONE" } ], "name" : "retryJobConfig" } ] }, "from-config-values" : { "configs" : [ { "inputs" : [ { "name" : "fromJobConfig.index", "value" : "52est" }, { "name" : "fromJobConfig.type", "value" : "est_array" }, { "name" : "fromJobConfig.columnList", "value" : "array_f1_int:long&array_f2_text:string&array_f3_object:nested" }, { "name" : "fromJobConfig.splitNestedField", "value" : "false" } ], "name" : "fromJobConfig" } ] }, "to-connector-name" : "dis-connector", "name" : "es_css", "from-link-name" : "css" } ], "page_no" : 1, "page_size" : 10 }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 作业数,查询单个作业时为0 jobs Array of Job objects 作业列表,请参见jobs参数说明 page_no Integer 返回指定页号的作业 page_size Integer 每页作业数 表5 Job 参数 参数类型 描述 job_type String 作业类型: NORMAL_JOB:表/文件迁移。 BATCH_JOB:整库迁移。 SCENARIO_JOB:场景迁移。 枚举值: NORMAL_JOB BATCH_JOB SCENARIO_JOB from-connector-name String 源端连接类型,对应的连接参数如下: generic-jdbc-connector:关系数据库连接。 obs-connector:OBS连接。 hdfs-connector:HDFS连接。 hbase-connector:HBase连接、CloudTable连接。 hive-connector:Hive连接。 ftp-connector/sftp-connector:FTP/SFTP连接。 mongodb-connector:MongoDB连接。 redis-connector:Redis/DCS连接。 kafka-connector:Kafka连接。 dis-connector:DIS连接。 elasticsearch-connector:Elasticsearch/云搜索服务连接。 dli-connector:DLI连接。 http-connector:HTTP/HTTPS连接,该连接暂无连接参数。 dms-kafka-connector:DMSKafka连接 to-config-values ConfigValues object 目的连接参数配置。根据不同目的端有不同的参数配置,具体可参考目的端作业参数说明下相应的目的端参数配置。 to-link-name String 目的端连接名称,即为通过“创建连接”接口创建的连接对应的连接名。 driver-config-values ConfigValues object 作业任务参数配置。例如配置作业失败重试、抽取并发数,具体可参考作业任务参数说明。 from-config-values ConfigValues object 源连接参数配置。根据不同源端有不同的参数配置,具体可参考源端作业参数说明下相应的源端参数配置。 to-connector-name String 目的端连接类型,对应的连接参数如下: generic-jdbc-connector:关系数据库连接。 obs-connector:OBS连接。 hdfs-connector:HDFS连接。 hbase-connector:HBase连接、CloudTable连接。 hive-connector:Hive连接。 ftp-connector/sftp-connector:FTP/SFTP连接。 mongodb-connector:MongoDB连接。 redis-connector:Redis/DCS连接。 kafka-connector:Kafka连接。 dis-connector:DIS连接。 elasticsearch-connector:Elasticsearch/云搜索服务连接。 dli-connector:DLI连接。 http-connector:HTTP/HTTPS连接,该连接暂无连接参数。 dms-kafka-connector:DMSKafka连接 name String 作业名称,长度在1到240个字符之间 最小长度:1 最大长度:240 from-link-name String 源连接名称,即为通过“创建连接”接口创建的连接对应的连接名。 creation-user String 创建作业的用户。由系统生成,用户无需填写。 creation-date Long 作业创建的时间,单位:毫秒。由系统生成,用户无需填写。 update-date Long 作业最后更新的时间,单位:毫秒。由系统生成,用户无需填写。 is_incre_job Boolean 是否是增量作业。已废弃 flag Integer 是否是定时作业标记,如果是定时作业则为1,否则为0。由系统根据定时任务配置生成,用户无需填写。 files_read Integer 已读文件数。由系统生成,用户无需填写。 update-user String 最后更新作业的用户。由系统生成,用户无需填写。 external_id String 具体执行的作业id,如果是本地作业,则一般为"job_local1202051771_0002"形式,如果是DLI作业,则为DLI作业ID,比如"12345"。由系统生成,用户无需填写。 type String 与job_type一致,作业类型: NORMAL_JOB:表/文件迁移。 BATCH_JOB:整库迁移。 SCENARIO_JOB:场景迁移。 execute_start_date Long 最近一次执行任务开始时间,单位:毫秒。由系统生成,用户无需填写。 delete_rows Integer 增量作业删除行数,已废弃。 enabled Boolean 是否激活连接。由系统生成,用户无需填写。 bytes_written Long 作业写入的字节。由系统生成,用户无需填写。 id Integer 作业ID。由系统生成,用户无需填写。 is_use_sql Boolean 用户是否使用sql。由系统根据源端抽取是否使用sql语句生成,用户无需填写 update_rows Integer 增量作业更新行数,已废弃。 group_name String 组名 bytes_read Long 作业读取的字节。由系统生成,用户无需填写。 execute_update_date Long 最近一次执行任务更新时间,单位:毫秒。由系统生成,用户无需填写。 write_rows Integer 增量作业写入行数,已废弃。 rows_written Integer 作业写入的行数。由系统生成,用户无需填写。 rows_read Long 作业读取的行数。由系统生成,用户无需填写。 files_written Integer 写入文件数。由系统生成,用户无需填写。 is_incrementing Boolean 是否是增量作业,同is_incre_job,已废弃。 execute_create_date Long 最近一次执行任务创建时间,单位:毫秒。由系统生成,用户无需填写。 status String 作业最后的执行状态: BOOTING:启动中。 RUNNING:运行中。 SUCCEEDED:成功。 FAILED:失败。 NEW:未被执行。 表6 ConfigValues 参数 参数类型 描述 configs Array of configs objects 源连接参数、目的连接参数和作业任务参数,它们的配置数据结构相同,其中“inputs”里的参数不一样,详细请参见configs数据结构说明 extended-configs extended-configs object 扩展配置,请参见extended-configs参数说明。扩展配置暂不对外开放,用户无需填写。 表7 configs 参数 参数类型 描述 inputs Array of Input objects 输入参数列表,列表中的每个参数为“name,value”结构,请参考inputs数据结构参数说明。在“from-config-values”数据结构中,不同的源连接类型有不同的“inputs”参数列表,请参见源端作业参数说明下的章节。在“to-config-values”数据结构中,不同的目的连接类型有不同的“inputs”参数列表,请参见目的端作业参数说明下面的子章节。在“driver-config-values”数据结构中,“inputs”具体参数请参见作业任务参数说明。 name String 配置名称:源端作业的配置名称为“fromJobConfig”。目的端作业的配置名称为“toJobConfig”,连接的配置名称固定为“linkConfig”。 id Integer 配置ID,由系统生成,用户无需填写。 type String 配置类型,由系统生成,用户无需填写。值为LINK或者JOB,如果是连接管理API,则为LINK;如果是作业管理API,则为JOB。 表8 Input 参数 参数类型 描述 name String 参数名: 如果是连接管理API,则以“linkConfig.”开头,对于不同连接类型有不同的参数,具体可参见连接参数说明下相应连接的参数说明。 如果是作业管理API,对于源端连接参数,则以“fromJobConfig.”开头,具体可参见源端作业参数说明下相应的源端参数说明;对于目的端连接参数,则以“toJobConfig.”开头,具体可参见目的端作业参数说明下相应的目的端参数说明;对于作业任务参数,请参见作业任务参数说明下相应的任务参数说明。 value String 参数值,参数名对应的值,必须填写为字符串 type String 值类型,如STRING、INTEGER,由系统设定,用户无需填写。 表9 extended-configs 参数 参数类型 描述 name String 扩展配置名称,暂不对外开放,用户无需填写。 value String 扩展配置值,暂不对外开放,用户无需填写。
  • URI GET /v1.1/{project_id}/clusters/{cluster_id}/cdm/job/{job_name} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参见项目ID和账号ID cluster_id 是 String 集群ID job_name 是 String 查询多个作业用all,查询单个作业输入作业名 表2 Query参数 参数 是否必选 参数类型 描述 filter 否 String 当“job_name”为“all”时,此参数用于模糊过滤作业 page_no 否 Integer 指定作业页号 最小值:1 page_size 否 Integer 每页作业数,值在10-100之间 最小值:10 最大值:100 jobType 否 String 作业类型: jobType=NORMAL_JOB:表示查询表/文件迁移的作业。 jobType=BATCH_JOB:表示查询整库迁移的作业。 jobType=SCENARIO_JOB:表示查询场景迁移的作业。 不指定该参数时,默认只查询表/文件迁移的作业。 枚举值: NORMAL_JOB BATCH_JOB SCENARIO_JOB
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.index 是 String 写入数据的索引,类似关系数据库中的数据库名称。 toJobConfig.type 是 String 写入数据的类型,类似关系数据库中的表名。 toJobConfig.shouldClearType 否 Boolean 导入前是否清除数据。 toJobConfig.primaryKey 否 String 主键或唯一索引。 toJobConfig.columnList 否 String 需要写入的字段列表,字段名之间使用“&”分隔,例如:“id&gid&name”。 toJobConfig.pipeLine 否 String 需要先在kibana中创建管道ID,这里才可以选择,该参数用于数据传到云搜索服务/Elasticsearch后,通过Elasticsearch的数据转换pipeline进行数据格式变换。 toJobConfig.createIndexStrategy 否 枚举 对于持续写入数据到Elasticsearch的流式作业, CDM 支持在Elasticsearch中定时创建新索引并写入数据,方便用户后期删除过期的数据。支持按以下周期创建新索引: EveryHour:每小时整点创建新索引,新索引的命名格式为“索引名+年+月+日+小时”,例如“index2018121709”。 EveryDay:每天零点零分创建新索引,新索引的命名格式为“索引名+年+月+日”,例如“index20181217”。 EveryWeek:每周周一的零点零分创建新索引,新索引的命名格式为“索引名+年+周”,例如“index201842”。 EveryMonth:每月一号零点零分创建新索引,新索引的命名格式为“索引名+年+月”,例如“index201812”。 从文件类抽取数据时,必须配置单个抽取(“抽取并发数”参数配置为1),否则该参数无效。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.index", "value": "cdm" }, { "name": "toJobConfig.type", "value": "type1" }, { "name": "toJobConfig.shouldClearType", "value": "false" }, { "name": "toJobConfig.pipeLine", "value": "es_03" } ], "name": "toJobConfig" } ] }
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建IAM用户并使用他们进行日常管理工作。 IAM用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 父主题: 使用前必读
  • 连接样例 { "links": [ { "link-config-values": { "configs": [ { "inputs": [ { "name": "linkConfig.hadoopType", "value": " FusionInsight HD" }, { "name": "linkConfig.host", "value": "10.120.205.143" }, { "name": "linkConfig.casPort", "value": "20009" }, { "name": "linkConfig.port", "value": "28443" }, { "name": "linkConfig.authType", "value": "KERBEROS" }, { "name": "linkConfig.user", "value": "admin" }, { "name": "linkConfig.password", "value": "Add password here" }, { "name": "linkConfig.runMode", "value": "STANDALONE" } ], "name": "linkConfig" } ] }, "name": "hdfslink", "connector-name": "hdfs-connector" } ] }
  • 连接参数 参数 是否必选 类型 说明 linkConfig.hadoopType 是 枚举 Hadoop类型: MRS :表示连接MRS的HDFS。 FusionInsight HD:表示连接FusionInsight HD的HDFS。 Apache Hadoop:表示连接开源Apache Hadoop的HDFS。 linkConfig.uri 否 String 连接Apache Hadoop时的Namenode URI地址,格式为“ip:port”。 linkConfig.host 否 String 连接MRS或FusionInsight HD时,需要配置Manager平台的IP地址。 linkConfig.port 否 String 连接FusionInsight HD时,需要配置Manager平台的端口。 linkConfig.casPort 否 String 连接FusionInsight HD时,需要配置与FusionInsight HD对接的CAS Server的端口。 linkConfig.user 否 String 登录Manager平台的用户名,使用集群配置时不用配置 linkConfig.password 否 String 登录Manager平台的密码,使用集群配置时不用配置 linkConfig.authType 否 枚举 认证类型,分为以下两种: Simple:非安全模式选择Simple鉴权。 Kerberos:安全模式选择Kerberos鉴权。 linkConfig.principal 否 String Kerveros认证所需的Principal,您也可以联系管理员获取此账号。使用集群配置前需在集群配置管理中配置此参数。 linkConfig.keytab 否 FileContent Kerveros认证所需的keytab文件的本地绝对路径,您也可以联系管理员获取此文件。使用集群配置前需在集群配置管理中配置此参数。 linkConfig.runMode 否 枚举 选择HDFS连接的运行模式: EMBEDDED:连接实例与CDM运行在一起,该模式性能较好。 STANDALONE:连接实例运行在独立进程。如果CDM需要对接多个Hadoop数据源(MRS、Hadoop或CloudTable),并且既有KERBEROS认证模式又有SIMPLE认证模式,只能使用STANDALONE模式。 选择STANDALONE模式时,CDM支持在多个MRS集群的HDFS之间迁移数据。 Agent:连接实例运行在Agent上。 若不使用AGENT运行模式,且在一个CDM中同时连接两个及以上开启Kerberos认证且realm相同的集群,只能使用EMBEDDED运行模式连接其中一个集群,其余需使用STANDALONE。 linkConfig.properties 否 Map 属性配置,可以添加客户端的配置属性,所添加的每个属性需配置属性名称和值
  • 连接样例 { "links": [ { "link-config-values": { "configs": [ { "inputs": [ { "name": "linkConfig.deploymentMode", "value": "Cluster" }, { "name": "linkConfig.serverlist", "value": "10.120.84.149:7300" }, { "name": "linkConfig.password", "value": "Add password here" }, { "name": "linkConfig.dbIndex", "value": "0" } ], "name": "linkConfig" } ] }, "name": "redis_link", "connector-name": "redis-connector" } ] }
  • 连接参数 参数 是否必选 类型 说明 linkConfig.deploymentMode 是 枚举 Redis部署方式: Single:表示单机部署。 Cluster:表示集群部署。 linkConfig.serverlist 是 String 服务器地址列表,格式如:“host1:port1;host2:port2”。 linkConfig.password 是 String 连接Redis服务器的密码。 linkConfig.dbIndex 是 String Redis数据库索引。
  • 参数说明 参数 是否必选 类型 说明 fromJobConfig.bucketName 是 String 对象存储的桶名。 fromJobConfig.inputDirectory 是 String 抽取文件的路径。支持输入多个文件路径(最多50个),默认以“|”分隔,也可以自定义文件分隔符,例如:“FROM/example.csv|FROM/b.txt”。 fromJobConfig.inputFormat 是 枚举 传输数据时所用的文件格式,目前支持以下文件格式: CSV_FILE:CSV格式,用于迁移文件到数据表的场景。 JSON_FILE:JSON格式,一般都是用于迁移文件到数据表的场景。 BINARY_FILE:二进制格式,不解析文件内容直接传输,不要求文件格式必须为二进制。适用于文件到文件的原样复制。 当选择“BINARY_FILE”时,目的端也必须为文件系统。 fromJobConfig.lineSeparator 否 String 文件中的换行符,默认自动识别"\\n"、"\\r"或"\\r\\n"。手动配置特殊字符,如空格回车需使用URL编码后的值。或通过编辑作业json方式配置,无需URL编码。 fromJobConfig.columnList 否 String 需要抽取的列号,列号之间使用“&”分割,并由小到大排序,例如:“1&3&5”。 fromJobConfig.regexSeparator 否 Boolean 是否使用正则表达式分割字段,当文件格式为“CSV_FILE”时此参数有效。 fromJobConfig.regex 否 String 正则表达式,当选择使用正则表达式分割字段时,此参数有效。 fromJobConfig.fieldSeparator 否 String 字段分隔符,当文件格式为“CSV_FILE”时此参数有效,默认值为:“,”。 fromJobConfig.quoteChar 否 Boolean 是否使用包围符,选择“true”时,包围符内的字段分隔符会被视为字符串值的一部分,目前CDM默认的包围符为:"。 fromJobConfig.firstRowAsHeader 否 Boolean 是否默认首行为标题行,当文件格式为“CSV_FILE”时此参数有效。在迁移CSV文件到表时,CDM默认是全部写入,当该参数选择“true”时,CDM会将CSV文件的第一行数据作为标题行,不写入目的端的表。 fromJobConfig.fromCompression 否 枚举 压缩格式,当文件格式为“CSV_FILE”或“JSON”时此参数有效。选择对应压缩格式的源文件: NONE:表示传输所有格式的文件。 GZIP:表示只传输GZIP格式的文件。 ZIP:表示只传输ZIP格式的文件。 fromJobConfig.jsonReferenceNode 否 String 记录节点,当文件格式为“JSON_FILE”时此参数有效。对该JSON节点下的数据进行解析,如果该节点对应的数据为JSON数组,那么系统会以同一模式从该数组中提取数据。多层嵌套的JSON节点以字符“.”分割,例如:“data.list”。 fromJobConfig.encodeType 否 String 编码类型,例如:“UTF_8”或“GBK”。 fromJobConfig.useMarkerFile 否 Boolean 选择是否开启作业标识文件的功能。当源端路径下存在启动作业的标识文件时才启动作业,否则会挂起等待一段时间,等待时长在下方“fromJobConfig.waitTime”(等待时间)参数中配置。 fromJobConfig.markerFile 否 String 启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务,不指定时默认不启用该功能,例如:“ok.txt”。 fromJobConfig.waitTime 否 String 选择开启作业标识文件的功能时,如果源路径下不存在启动作业的标识文件,作业挂机等待的时长,当超时后任务会失败。 等待时间设置为0时,当源端路径下不存在标识文件,任务会立即失败。 单位:秒。 fromJobConfig.filterType 否 枚举 选择过滤器类型: WILDCARD:输入通配符作为过滤文件,满足过滤条件的路径或文件会被传输。 TIME:时间过滤器,当文件的修改时间晚于输入的时间时,该文件才会被传输。 fromJobConfig.pathFilter 否 String 路径过滤器,过滤类型为通配符时配置,用于过滤文件目录,例如:“*input”。 fromJobConfig.fileFilter 否 String 文件过滤器,过滤类型为通配符时配置,用于过滤目录下的文件,支持配置多个文件,中间使用“,”分隔,例如:“*.csv,*.txt”。 fromJobConfig.startTime 否 String “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间大于等于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}表示:只迁移最近90天内的文件。 fromJobConfig.endTime 否 String “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间小于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}表示:只迁移修改时间为当前时间以前的文件。 fromJobConfig.fileSeparator 否 String “fromJobConfig.inputDirectory”(抽取文件的路径)参数中如果输入的是多个文件路径,CDM使用这里配置的文件分隔符来区分各个文件,默认为“|”。 fromJobConfig.md5FileSuffix 否 String 校验CDM抽取的文件,是否与源文件一致。
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.bucketName", "value": "cdm-est" }, { "name": "fromJobConfig.inputDirectory", "value": "/obsfrom/varchar.txt" }, { "name": "fromJobConfig.inputFormat", "value": "CSV_FILE" }, { "name": "fromJobConfig.columnList", "value": "1&2&3" }, { "name": "fromJobConfig.fieldSeparator", "value": "," }, { "name": "fromJobConfig.quoteChar", "value": "false" }, { "name": "fromJobConfig.regexSeparator", "value": "false" }, { "name": "fromJobConfig.firstRowAsHeader", "value": "false" }, { "name": "fromJobConfig.encodeType", "value": "UTF-8" }, { "name": "fromJobConfig.fromCompression", "value": "NONE" }, { "name": "fromJobConfig.splitType", "value": "FILE" } ], "name": "fromJobConfig" } ] }
  • 连接参数 参数 是否必选 类型 说明 linkConfig.hbaseType 是 枚举 HBase类型: CloudTable:表示连接CloudTable服务。 MRS:表示连接MRS。 FusionInsight HD:表示连接FusionInsight HD。 Apache Hadoop:表示连接开源Apache Hadoop。 linkConfig.zookeeperQuorum 是 String 连接“CloudTable”时必选,表示CloudTable的ZooKeeper链接地址。 linkConfig.iamAuth 是 Boolean 当选择IAM 统一身份认证 时,需要输入用户名、AK和SK。 linkConfig.runMode 是 枚举 选择HBase连接的运行模式: EMBEDDED:连接实例与CDM运行在一起,该模式性能较好。 STANDALONE:连接实例运行在独立进程。如果CDM需要对接多个Hadoop数据源(MRS、Hadoop或CloudTable),并且既有KERBEROS认证模式又有SIMPLE认证模式,只能使用STANDALONE模式。 linkConfig.cloudtableUser 是 String 登录CloudTable集群的用户名。 linkConfig.accessKey 是 String 登录CloudTable集群的访问标识。 linkConfig.securityKey 是 String 登录CloudTable集群的密钥。
  • 连接样例 { "links": [ { "link-config-values": { "configs": [ { "inputs": [ { "name": "linkConfig.hbaseType", "value": "CloudTable" }, { "name": "linkConfig.zookeeperQuorum", "value": "cloudtable-pass-zk2-bae54VGN.cloudtable.com:2181,cloudtable-pass-zk1-Fu828so2.cloudtable.com:2181" }, { "name": "linkConfig.iamAuth", "value": "true" }, { "name": "linkConfig.cloudtableUser", "value": "zane" }, { "name": "linkConfig.accessKey", "value": "GRC2WR0IxxxxxxxYLWU2" }, { "name": "linkConfig.securityKey", "value": "Add password here" }, { "name": "linkConfig.runMode", "value": "EMBEDDED" } ], "name": "linkConfig" } ] }, "name": "cloudtablelink", "connector-name": "hbase-connector" } ] }
  • 响应示例 状态码: 200 ok { "clusters" : [ { "publicEndpoint" : "49.xx.xx.10", "actionProgress" : { }, "created" : "2018-09-05T08:38:25", "name" : "cdm-c018", "statusDetail" : "Normal", "id" : "bae65496-643e-47ca-84af-948672de7eeb", "isFrozen" : "0", "updated" : "2018-09-05T08:38:25", "status" : "200" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 clusters Array of clusters objects 集群列表,请参见clusters参数说明 表4 clusters 参数 参数类型 描述 customerConfig CustomerConfig object 用户配置信息 datastore Datastore object cdm信息 instances Array of ClusterDetailInstance objects 集群的节点信息,请参见instances参数说明 azName String az名称 dbuser String 数据库用户 flavorName String 规格名称 recentEvent Integer 事件数 isAutoOff Boolean 自动关机 isScheduleBootOff Boolean 选择是否启用定时开关机功能。定时开关机功能和自动关机功能不可同时开启 clusterMode String 集群模式:sharding(分片集群) namespace String 命名空间 task ClusterTask object 任务信息 publicEndpoint String 集群绑定的EIP actionProgress ActionProgress object 集群操作进度,任务信息,由key、value组成。key值为正在进行的任务,value值为正在进行任务的进度。示例如 "action_progress":{"SNAPSHOTTING":"16%"} created String 集群创建时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ bakExpectedStartTime String 开始时间 bakKeepDay Integer 保留时间 name String 集群名称 statusDetail String 集群状态描述:Normal(正常) id String 集群ID isFrozen String 集群是否冻结:0:否 1:是 updated String 集群更新时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ status String 集群状态: 100:创建中 200:正常 300:失败 303:创建失败 500:重启中 800:冻结 900:已关机 910:正在关机 920:正在开机 failedReasons FailedReasons object 失败原因。集群处于正常状态时不返回。 表5 CustomerConfig 参数 参数类型 描述 failureRemind String 失败提醒。 clusterName String 集群类型。 serviceProvider String 服务提供 localDisk String 是否本地磁盘。 ssl String 是否使用ssl。 createFrom String 创建来源 resourceId String 资源ID flavorType String 规格类型 workSpaceId String 工作空间ID trial String 适用 表6 Datastore 参数 参数类型 描述 type String 类型,一般为cdm。 version String 集群版本。 表7 ClusterDetailInstance 参数 参数类型 描述 flavor flavor object 节点的虚拟机规格,请参见flavor参数说明(查询集群列表时返回值为null)。 volume volume object 节点的磁盘信息,请参见volume参数说明(查询集群列表时返回值为null)。 status String 节点状态: 100:创建中。 200:正常。 300:失败。 303:创建失败。 400:已删除。 800:冻结。 actions Array of strings 节点操作状态列表: REBOOTING:重启中。 RESTORING:恢复中。 REBOOT_FAILURE:重启失败。 type String 节点类型,只支持一种类型“cdm”。 id String 节点的虚拟机ID。 name String 节点的虚拟机名称。 isFrozen String 节点是否冻结:0:否。1:是。 components String 组件 config_status String 节点配置状态(查询集群列表时为null): In-Sync:配置已同步。 Applying:配置中。 Sync-Failure:配置失败。 role String 实例角色 group String 分组 links Array of ClusterLinks objects 链接信息(查询集群列表时返回值为null) paramsGroupId String 组件分组id publicIp String 公网ip manageIp String 管理ip trafficIp String 流量ip shard_id String 分片id manage_fix_ip String 管理修复ip private_ip String 私有ip internal_ip String 内部ip resource Array of Resource objects 资源信息(查询集群列表时返回值为null) 表8 flavor 参数 参数类型 描述 id String 节点虚拟机的规格ID。 links Array of ClusterLinks objects 链接信息 表9 volume 参数 参数类型 描述 type String 节点的磁盘类型,只支持本地磁盘 size Long 节点磁盘大小,单位G。 表10 ClusterLinks 参数 参数类型 描述 rel String 关系 href String 链接地址 表11 Resource 参数 参数类型 描述 resource_id String 资源id resource_type String 资源类型:server(服务器) 表12 ClusterTask 参数 参数类型 描述 description String 任务描述 id String 任务id name String 任务名称 表13 ActionProgress 参数 参数类型 描述 CREATING String 创建集群进度,例如:29% GROWING String 扩容集群进度,例如:29% RESTORING String 恢复集群进度,例如:29% SNAPSHOTTING String 集群快照进度,例如:29% REPAIRING String 修复集群进度,例如:29% 表14 FailedReasons 参数 参数类型 描述 CREATE_FAILED CREATE_FAILED object 集群创建失败原因。 表15 CREATE_FAILED 参数 参数类型 描述 errorCode String 错误码 errorMsg String 失败原因
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.outputDirectory 是 String 数据写入的路径,例如“/data_dir”。 toJobConfig.outputFormat 是 枚举 写入数据时所用的文件格式(二进制除外),支持以下文件格式: CSV_FILE:按照CSV格式写入数据。 BINARY_FILE:二进制格式,不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式。 当选择“BINARY_FILE”时,源端也必须为文件系统。 toJobConfig.lineSeparator 否 String 行分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“\r\n”。 toJobConfig.fieldSeparator 否 String 列分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“,”。 toJobConfig.writeToTempFile 否 Boolean 将二进制文件先写入到临时文件(临时文件以“.tmp”作为后缀),迁移成功后,再进行rename或move操作,在目的端恢复文件。 toJobConfig.duplicateFileOpType 否 枚举 重复文件处理方式,只有文件名和文件大小都相同才会判定为重复文件。重复文件支持以下处理方式: REPLACE:替换重复文件。 SKIP:跳过重复文件。 ABANDON:发现重复文件停止任务。 toJobConfig.compression 否 枚举 写入文件后,选择对文件的压缩格式。支持以下压缩格式: NONE:不压缩。 DEFLATE:压缩为DEFLATE格式。 GZIP:压缩为GZIP格式。 BZIP2:压缩为BZIP2格式。 LZ4:压缩为LZ4格式。 SNAPPY:压缩为SNAPPY格式。 toJobConfig.appendMode 是 Boolean 当加载路径已经存在文件,是否需要写入,默认值为“false”。 toJobConfig.encryption 否 枚举 当“toJobConfig.outputFormat”(文件格式)为“BINARY_FILE”(二进制)时才有该参数,选择是否对导入的数据进行加密,以及加密方式: NONE:不加密,直接写入数据。 AES-256-GCM:使用长度为256byte的AES对称加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。 toJobConfig.dek 否 String 数据加密 密钥,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,密钥由长度64的十六进制数组成。 请您牢记这里配置的密钥,解密时的密钥与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 toJobConfig.iv 否 String 初始化向量,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,初始化向量由长度32的十六进制数组成。 请您牢记这里配置的初始化向量,解密时的初始化向量与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.outputDirectory", "value": "/hdfsto" }, { "name": "toJobConfig.outputFormat", "value": "BINARY_FILE" }, { "name": "toJobConfig.writeToTempFile", "value": "false" }, { "name": "toJobConfig.duplicateFileOpType", "value": "REPLACE" }, { "name": "toJobConfig.compression", "value": "NONE" }, { "name": "toJobConfig.appendMode", "value": "true" } ], "name": "toJobConfig" } ] }
  • 响应参数 状态码: 202 表10 响应Body参数 参数 参数类型 描述 name String 集群名称 id String 集群ID task Task object 任务信息 datastore Datastore object 集群信息 instances Array of ClusterInstance objects 集群的节点信息 表11 Task 参数 参数类型 描述 id String 任务id name String 任务名称 表12 Datastore 参数 参数类型 描述 type String 类型,一般为cdm。 version String 集群版本。 表13 ClusterInstance 参数 参数类型 描述 id String 节点的虚拟机ID。 name String 节点的虚拟机名称。 type String 节点类型,只支持一种类型“cdm”。 shard_id String 分片ID
共100000条