更新时间:2022-02-22 GMT+08:00

创建作业对象

功能介绍

创建一个新的作业对象。该接口兼容Sahara。

URI

  • URI格式

    POST /v1.1/{project_id}/jobs

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

    名称

    是否必选

    说明

    project_id

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

请求消息

表2 请求参数说明

名称

是否必选

参数类型

说明

name

String

作业对象名称。

只能由字母、数字、中划线和下划线组成,并且长度为1~64字符。

mains

Array

作业对象的执行程序集合。

如果作业类型为Hive或者Spark Script时,mains的取值不能为空。

获取方法,请参见创建作业二进制对象

libs

Array

作业对象的依赖包集合。

如果作业类型为MapReduce或者Spark时,libs的取值不能为空。

获取方法,请参见创建作业二进制对象

is_protected

Bool

作业对象是否受保护。

  • true
  • false

当前版本不支持该功能。

interface

Array

自定义接口集合,当前版本不支持该功能。

is_public

Bool

作业对象是否公开。

  • true
  • false

当前版本不支持该功能。

type

String

作业对象类型:

  • MapReduce
  • Spark
  • Hive(当前不支持)
  • hql
  • DistCp
  • SparkScript
  • SparkSql(该接口当前不支持

description

String

作业对象描述信息,最大长度为65535字符。

响应消息

表3 响应参数说明

名称

参数类型

说明

description

String

作业对象描述信息。

tenant_id

String

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

created_at

String

作业对象创建时间。

updated_at

String

作业对象更新时间。

mains

Array

作业对象的执行程序集合。

libs

Array

作业对象的依赖包集合。

is_protected

Bool

作业对象是否受保护。

  • true
  • false

当前版本不支持该功能。

interface

Array

自定义接口集合。

is_public

Bool

作业对象是否公开。

  • true
  • false

当前版本不支持该功能。

type

String

作业对象类型。

id

String

作业对象ID。

name

String

作业对象名称。

示例

  • 请求示例
    The request example of MapReduce job: 
    {    
        "name": "my-mapreduce-job",         
        "mains": [ ],         
        "libs": [                 
        "092b628b-26a3-4571-9ba4-f8d000df8877"        
        ],         
        "is_protected": false,         
        "interface": [ ],         
        "is_public": false,         
        "type": "MapReduce",         
        "description": "This is the Map Reduce job template"    
    } 
     
    The request example of Spark job: 
    { 
        "name": "my-spark-job",  
        "type": "Spark",  
        "description": "This is the Spark job template",  
        "mains": [ ],  
        "libs": [ 
            "ed2ffd92-6308-44cb-b930-e10b6d65d3aa" 
        ],  
        "is_public": false,  
        "is_protected": false,  
        "interface": [ ] 
    }
    
    The request example of DistCp job: 
    { 
        "name": "my-distcp-job",  
        "type": "DistCp",  
        "description": "This is the DistCp job template",  
        "mains": [ ],  
        "libs": [ ],  
        "is_public": false,  
        "is_protected": false,  
        "interface": [ ] 
    }
    
    The request example of Hive job:
    { 
        "name": "my-hive-job",  
        "type": "Hive",  
        "description": "This is the Hive job template",  
    "mains": [
        "0d58a7e1-3ea7-413e-9a94-7702f99a9fa2"
    ],  
        "libs": [ ],  
        "is_public": false,  
        "is_protected": false,  
        "interface": [ ] 
    }
    
    The request example of SparkScript job:
    { 
        "name": "my-sparkscript-job",  
        "type": "SparkScript",  
        "description": "This is the SparkScript job template",  
        "mains": [
        "89e6a8bc-dde1-4053-97c1-72504f630dbf"
        ],  
        "libs": [ ],  
        "is_public": false,  
        "is_protected": false,  
        "interface": [ ] 
    }
  • 响应示例
    {
        "job": {
            "name": "my-mapreduce-job",
            "type": "MapReduce",
            "description": "This is the Map Reduce job template",
            "mains": [],
            "libs": [
                {
                    "name": "my-job-binary-666",
                    "url": "/simple/mapreduce/program",
                    "description": "this is the job binary template",
                    "id": "2628d0e4-6109-4a09-a338-c4ee1b0963ed",
                    "tenant_id": "5a3314075bfa49b9ae360f4ecd333695",
                    "is_public": false,
                    "is_protected": false,
                    "extra": null
                }
            ],
            "created_at": "2017-06-22T09:39:13",
            "updated_at": "2017-06-22T09:39:13",
            "id": "38a04cba-c113-4868-b11f-f50e8b1bf252",
            "tenant_id": "5a3314075bfa49b9ae360f4ecd333695",
            "is_public": false,
            "is_protected": false,
            "interface": []
        }
    }

状态码

状态码如表4所示。

表4 状态码

状态码

描述

202

创建作业对象成功。

异常状态码请参见状态码