更新时间:2026-09-11 GMT+08:00
分享

作业测试运行 - RunJobTest

功能介绍

提交作业测试运行请求,用于在测试环境中验证作业定义的正确性。

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

POST /v2/{project_id}/jobs/{job_name}/run-test

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

job_name

String

参数解释

作业名,在测试运行场景中指定要运行的作业。可以通过调用"查询作业列表"接口获取作业名。

约束限制

最大支持128字符。

取值范围

数字、字母、下划线、中横线和点号。

默认取值

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

IAM Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值),使用Token认证时必选,最小长度:0,最大长度:4096。

workspace

String

工作空间ID,获取方法请参见实例ID和工作空间ID

表3 请求Body参数

参数

是否必选

参数类型

描述

pipeline_id

String

参数解释

作业流水线ID,用于唯一标识作业的流水线定义。在测试运行场景中,通过此ID加载作业定义并执行测试运行。可以通过调用「查询作业详情」接口获取pipeline_id。

约束限制

只能包含数字,长度为1-64个字符。

取值范围

符合正则表达式^[0-9]{1,64}$的字符串。

默认取值

不涉及。

objects

Array of objects objects

参数解释

作业节点对象列表,定义作业中各节点的执行顺序和配置信息。每个节点对象包含节点ID、名称和属性列表。

task_properties

task_properties object

参数解释

任务属性,定义作业的执行用户、代理和超时时间等运行时配置。

params

Array of params objects

参数解释

作业参数列表,以对象数组形式传递给作业的运行参数。每个参数包含参数名称和参数值,在作业执行时引用。

表4 objects

参数

是否必选

参数类型

描述

id

String

参数解释

节点ID,用于在作业中唯一标识一个节点。在测试运行场景中,通过此ID定位作业中的节点。

约束限制

只能包含字母、数字和连字符,长度为1-128个字符。

取值范围

符合正则表达式^[a-zA-Z0-9-]{1,128}$的字符串。

默认取值

不涉及。

name

String

参数解释

节点名称,用于标识作业中的一个节点。在测试运行场景中,通过此名称指定作业中的节点。

约束限制

只能包含字母、数字、下划线和连字符,长度为1-128个字符。

取值范围

符合正则表达式^[a-zA-Z0-9-_]{1,128}$的字符串。

默认取值

不涉及。

properties

Array of properties objects

参数解释

节点属性列表,以键值对形式定义节点的配置参数。每个属性包含名称和值,部分属性通过ref_value引用其他节点的ID。

表5 properties

参数

是否必选

参数类型

描述

name

String

参数解释

属性名称,用于指定节点的配置项名称,如processorType、clusterName、type等。

约束限制

不涉及。

取值范围

字符串。

默认取值

不涉及。

value

String

参数解释

属性值,指定配置项的值。与ref_value互斥,当属性为直接赋值时使用value。

约束限制

不涉及。

取值范围

字符串。

默认取值

不涉及。

ref_value

String

参数解释

引用值,用于引用其他节点的ID。与value互斥,当属性为引用其他节点时使用ref_value。

约束限制

不涉及。

取值范围

字符串,通常为另一个节点的ID。

默认取值

不涉及。

表6 task_properties

参数

是否必选

参数类型

描述

agency

String

参数解释

代理名称,用于指定作业执行的IAM代理。通过代理获取执行作业所需的权限。与execute_user二选一,agency优先级更高。

约束限制

不涉及。

取值范围

字符串。

默认取值

不涉及。

execute_user

String

参数解释

执行用户,用于指定作业的执行用户。与agency二选一,当agency为空时使用execute_user。

约束限制

不涉及。

取值范围

字符串。

默认取值

不涉及。

instance_timeout

Integer

参数解释

实例超时时间,单位为秒。超过此时间作业实例将被标记为超时。

约束限制

不涉及。

取值范围

整数,取值范围为1-1440。

默认取值

60。

表7 params

参数

是否必选

参数类型

描述

name

String

参数解释

参数名称,用于标识一个作业参数。在作业执行时通过此名称引用参数值。

约束限制

只能以字母或下划线开头,只能包含字母、数字和下划线,长度为1-256个字符。

取值范围

符合正则表达式^[a-zA-Z_][a-zA-Z0-9_]{0,255}$的字符串。

默认取值

不涉及。

value

String

参数解释

参数值,指定该参数的值。在作业执行时,参数将被替换为此值。

约束限制

最大长度4096个字符。

取值范围

字符串。

默认取值

不涉及。

响应参数

状态码:200

表8 响应Body参数

参数

参数类型

描述

plan_time

Long

参数解释

计划时间,作业计划执行的时间戳,单位为毫秒。用于确认作业是否按预期时间调度。

取值范围

正整数。

submit_time

Long

参数解释

提交时间,作业实际提交到执行引擎的时间戳,单位为毫秒。用于确认作业的实际提交时刻。

取值范围

正整数。

状态码:400

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

测试运行job_name为job_123的作业。

GET /v2/62099355b894428e8916573ae635f1f9/factory/jobs/job_123/run-test

{
  "pipeline_id" : "480108",
  "objects" : [ {
    "id" : "3dbba493-fb52-47c6-9bb6-5dee740da577",
    "name" : "RC_ontology_integration_55f77d3d1b3c4c25ad0e47f1aa26e6db_StorageLocation",
    "properties" : [ {
      "name" : "processorType",
      "value" : "RESOURCE"
    }, {
      "name" : "clusterName",
      "value" : "mrs-daa-test"
    }, {
      "name" : "clusterId",
      "value" : "cdfd04e2-daf4-4827-ad48-87ab16b66e9e"
    }, {
      "name" : "type",
      "value" : "com.cloud.datacraft.resource.MRCluster"
    } ]
  }, {
    "id" : "5719e312-fc2a-4060-8186-e275cc986035",
    "name" : "ontology_integration_55f77d3d1b3c4c25ad0e47f1aa26e6db_StorageLocation",
    "properties" : [ {
      "name" : "queryInterval",
      "value" : "10"
    }, {
      "name" : "execTimeOut",
      "value" : "1 hour"
    }, {
      "name" : "execTimeOutRetry",
      "value" : "false"
    }, {
      "name" : "maximumRetries",
      "value" : "0"
    }, {
      "name" : "retryDelay",
      "value" : "120 sec"
    }, {
      "name" : "action",
      "value" : "EXIT"
    }, {
      "name" : "Job Name",
      "value" : "daaspark_9535c662-6d3d-4a6f-92b9-ccbb6ec31d3a"
    }, {
      "name" : "MRS Cluster Type",
      "value" : "v2"
    }, {
      "name" : "resourceJarPath",
      "value" : "daa-data-factory-runtime"
    }, {
      "name" : "Path of Jar File",
      "value" : "a94e6d15-c4e1-4022-8ff1-d59031e3f8c2"
    }, {
      "name" : "sparkJobProcessType",
      "value" : "BATCH"
    }, {
      "name" : "input",
      "value" : ""
    }, {
      "name" : "output",
      "value" : ""
    }, {
      "name" : "processorType",
      "value" : "INVOKE_ACTIVITY"
    }, {
      "name" : "type",
      "value" : "com.cloud.datacraft.activity.ExecuteSpark"
    }, {
      "name" : "emptyRunningJob",
      "value" : "0"
    }, {
      "name" : "taskWorkGroupId",
      "value" : "-1"
    }, {
      "name" : "mrCluster",
      "ref_value" : "3dbba493-fb52-47c6-9bb6-5dee740da577"
    } ]
  } ],
  "task_properties" : {
    "agency" : "dlg_agency",
    "instance_timeout" : 60
  }
}

响应示例

状态码:200

success

{
  "plan_time" : 1788261922879,
  "submit_time" : 1788261922879
}

状态码:400

BadRequest

{
  "error_code" : "DLF.3051",
  "error_msg" : "The request parameter is invalid."
}

状态码

状态码

描述

200

success

400

BadRequest

相关文档