更新时间:2024-11-06 GMT+08:00

导入作业

功能介绍

将存放在OBS桶的作业文件导入到DLF,一次可以导入一个或多个作业。

执行本接口之前,需要将作业文件放到OBS的桶中。

URI

  • URI格式

    POST /v1/{project_id}/jobs/import

  • 参数说明
    表1 URI参数说明

    参数名

    是否必选

    参数类型

    说明

    project_id

    String

    项目编号,获取方法请参见项目ID和账号ID

请求参数

表2 参数说明

参数名

是否必选

参数类型

说明

path

String

有OBS场景:作业定义文件在OBS上的路径,作业定义文件的格式参考导出作业的响应消息。例如obs://myBucket/jobs.zip。

params

Map<String,String>

公共作业参数。

sameNamePolicy

String

重名策略

  • SKIP:跳过
  • OVERWRITE:覆盖

默认值是SKIP。

jobsParam

List<JobParam>

指定作业参数,参考表3

executeUser

String

执行作业的用户。

targetStatus

String

在开启审批开关后,需要填写该字段。表示创建作业的目标状态,有三种状态:SAVED、SUBMITTED和PRODUCTION,分别表示作业创建后是保存态,提交态,生产态。

  • 保存态表示作业仅保存,无法调度运行,需要提交并审核通过后才能运行。
  • 提交态表示作业保存后会自动提交,需要审核通过才能运行。
  • 生产态表示作业跳过审批环节,创建后可以直接运行。注意:只有工作空间的管理员用户才能创建生产态的作业。

approvers

List<JobApprover>

在开启审批开关后,需要填写该字段,表示作业审批人,参考表4

审批开关的配置请参见审批中心

resources

List<JobResourceInfo>

如需替换资源,需要填写该字段,包含替换的资源名和资源类型和替换后的资源名。参考表5

表3 JobParam属性说明

参数名

是否必选

参数类型

说明

name

String

作业名称。

params

Map<String,String>

作业参数。

表4 审批人属性说明

参数名

是否必选

参数类型

说明

approverName

String

审批人名称。

表5 资源表说明

参数名

是否必选

参数类型

说明

name

String

资源名。

type

String

资源类型,支持的资源类型如下:

DWS_CONNECTION、DIS_STREAM、CDM_CLUSTER、MRS_CLUSTER、MRS_HIVE_CONNECTION、MRS_SPARK_CONNECTION、GES_GRAPH、ROMA_INSTANCE、TICS_INSTANCE、DRS_TASK。

replace

String

替换后的资源名。

响应参数

表6 参数说明

参数名

是否必选

参数类型

说明

taskId

String

任务ID,请调用查询系统任务接口获取导入状态。

请求示例

从OBS路径上导入作业,如果有重名作业、脚本,则覆盖。所导入的作业定义文件在OBS上的路径为obs://aaaaa/job_batch.zip,指定的作业参数的作业名称为job_batch。
POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs/import
{
    "path": "obs://aaaaa/job_batch.zip",
    "jobsParam": [
        {
            "name": "job_batch"
        }
    ]
}
打开审批开关的情况下,从OBS路径上导入作业,如果有重名作业、脚本,则覆盖。
POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs/import
{
    "path": "obs://aaaaa/job_batch.zip",
    "jobsParam": [
        {
            "name": "job_batch"
        }
    ],
    "targetStatus": "SUBMITTED",
    "approvers": [
    {
      "approverName": "userName1"
    },
    {
      "approverName": "userName2"
    }
  ]
}

响应示例

  • 成功响应
    HTTP状态码 200
    {
        "taskId":"008aae2e675933c7016759418e870000"
    }
  • 失败响应

    HTTP状态码 400

    {
        "error_code":"DLF.0815",
        "error_msg":"Fail to read OBS file."
    }