
# 导入作业 - ImportJob
#### 功能介绍
将存放在OBS桶的作业文件导入到DLF，一次可以导入一个或多个作业。
![](https://support.huaweicloud.com/api-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
执行本接口之前，需要将作业文件放到OBS的桶中。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DGC/doc?api=ImportJob)中调试该接口，支持自动认证鉴权。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dataartsstudio/abcd.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
- URI格式 POST /v1/{project_id}/jobs/import
  

- 参数说明
  表1URI参数说明 
  | 参数名        | 是否必选 | 参数类型   | 说明                                                                                                    |
  |:---|:---|:---|:---|
  | project_id | 是    | String | 项目编号，获取方法请参见[项目ID和账号ID](https://support.huaweicloud.com/api-dataartsstudio/projectid_accountid.html)。 |
     
  
 
#### 请求参数
表2请求Header参数 
| 参数名       | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| workspace | 否    | String | 工作空间id。获取方法请参见[实例ID和工作空间ID](https://support.huaweicloud.com/api-dataartsstudio/dataartsstudio_02_0350.html)。 - 如果不设置该参数，默认查询default工作空间下的数据。  - 如果需要查询其他工作空间的数据，需要带上该消息头。 说明： - 多个DataArts Studio实例需要指定工作空间。  - 当工作空间里面没有default工作空间时，工作空间为必填参数，否则会报错。      |
   
表3参数说明 
| 参数名            | 是否必选 | 参数类型                    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| path           | 是    | String                  | 有OBS场景：作业定义文件在OBS上的路径，作业定义文件的格式参考导出作业的响应消息。例如obs://myBucket/jobs.zip。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| params         | 否    | Map\<String,String\>    | 公共作业参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| sameNamePolicy | 否    | String                  | 重名策略 - SKIP：跳过  - OVERWRITE：覆盖   默认值是SKIP。                                                                                                                 |
| jobsParam      | 否    | List\<JobParam\>        | 指定作业参数，参考[表4]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| executeUser    | 否    | String                  | 执行作业的用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| targetStatus   | 否    | String                  | 在开启审批开关后，需要填写该字段。表示创建作业的目标状态，有三种状态：SAVED、SUBMITTED和PRODUCTION，分别表示作业创建后是保存态，提交态，生产态。 - 保存态表示作业仅保存，无法调度运行，需要提交并审核通过后才能运行。  - 提交态表示作业保存后会自动提交，需要审核通过才能运行。  - 生产态表示作业跳过审批环节，创建后可以直接运行。注意：只有工作空间的管理员用户才能创建生产态的作业。   |
| approvers      | 否    | List\<JobApprover\>     | 在开启审批开关后，需要填写该字段，表示作业审批人，参考[表5]。 审批开关的配置请参见[审批中心](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1820.html)。                                                                                                                                                                                                                                                                                                                               |
| resources      | 否    | List\<JobResourceInfo\> | 如需替换资源，需要填写该字段，包含替换的资源名和资源类型和替换后的资源名。参考[表6]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
 表4JobParam属性说明 
| 参数名    | 是否必选 | 参数类型                 | 说明    |
|:---|:---|:---|:---|
| name   | 是    | String               | 作业名称。 |
| params | 否    | Map\<String,String\> | 作业参数。 |
   
 表5审批人属性说明 
| 参数名          | 是否必选 | 参数类型   | 说明     |
|:---|:---|:---|:---|
| approverName | 是    | String | 审批人名称。 |
   
 表6资源表说明 
| 参数名     | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| 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 | 替换后的资源名。                                                                                                                                                                                           |
   
#### 响应参数
表7参数说明 
| 参数名    | 是否必选 | 参数类型   | 说明                      |
|:---|:---|:---|:---|
| 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.20815",
      "error_msg":"Fail to read OBS file."
  }
  ```
  
 
