作业开发
工作台管理
ImportWorbenchItem
接口说明
根据category批量导入工作台草稿,仅支持若干文件夹与json文件压缩的zip
原型
PUT /v1/project/${projectName}/workbench/${category}?import
请求参数
名称 | 类型 | 位置 | 必须 | 描述 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
category | String | URL | 是 | 工作台分类的枚举:pipeline, script, jobgroup, realtime、flink 和 sparkstreaming |
file | binary | Body | 是 | 仅支持zip压缩方式的包文件 |
压缩包文件结构
名称 | 类型 | 层级 | 描述 |
---|---|---|---|
category | 文件夹 | 1 | 工作台分类的枚举:pipeline, script, jobgroup, realtime、flink 和 sparkstreaming |
directory | 文件夹 | 2-5 | 工作台的文件夹 |
json | 文件 | 2-6 | 仅支持*.json类型的文本文件 |
响应参数
以下是将您提供的表格信息转换为Markdown格式的语法表达:
名称 | 类型 | 描述 |
---|---|---|
result | 导入结果 | |
totalCount | Integer | 总json数量 |
successCount | Integer | 成功json数量 |
failedCount | Integer | 失败json数量 |
failedItems | List<FailedItem> | 错误文件列表 |
FailedItem
名称 | 类型 | 描述 |
---|---|---|
path | String | 文件路径或文件夹路径 |
cause | String | 错误原因 |
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
ProjectNotFound | Project is not found. | 404 | 项目空间不存在 |
请求示例
1PUT /v1/project/pro/workbench/script?import
2Host: edap.bj.baidubce.com
3Content-Type: application/octet-stream
4Content-Length: 102400
5
6// real binary file content
压缩包示例 |—script |—dir1 |—dir2 |—aaa.json |—dir3 |—bbb.json |—ccc.json
响应示例
1HTTP/1.1 200 OK
2Content-Length: xxxx
3Content-Type: application/json
4
5{
6 "result": [
7 "totalCount": 10,
8 "successCount": 8,
9 "failedCount": 2,
10 "failedItems": [
11 {
12 "path": "dir/aaa.json",
13 "cause": "wrong json format"
14 },
15 {
16 "path": "bbb.json",
17 "cause": "wrong category"
18 }
19 ]
20 ]
21}
22
23HTTP/1.1 404 Not Found
24Content-Length: xxx
25Content-type:json/application
26
27{
28 "code":"ProjectNotFound",
29 "message":"Project pro is not found",
30 "requestId":" 81d0b05f-5ad4-1f22-8068-d5c9de60a1d7"
31}
ExportWorbenchItem
接口说明
根据categroy批量导出工作台草稿,导出为一个zip压缩文件.
原型
GET /v1/project/${projectName}/workbench/${category}?export
请求参数
名称 | 类型 | 位置 | 必须 | 描述 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
category | String | URL | 是 | 工作台分类的枚举:pipeline, script, jobgroup, realtime、flink 和 sparkstreaming |
响应参数
二进制的zip文件内容
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
ProjectNotFound | Project is not found. | 404 | 项目空间不存在 |
请求示例
1GET /v1/project/pro/workbench/script?export
2Host: edap.bj.baidubce.com
3Content-Type: application/json
4Content-Length: xxx
响应示例
1HTTP/1.1 200 OK
2Content-Type: application/octet-stream
3Content-Disposition: attachment;filename=project_category_datetime.zip
4
5// real binary file content
6
7
8 HTTP/1.1 404 Not Found
9Content-Length: xxx
10Content-type:json/application
11
12{
13 "code":"ProjectNotFound",
14 "message":"Project pro is not found",
15 "requestId":" 81d0b05f-5ad4-1f22-8068-d5c9de60a1d7"
16}
执行管理
CreateExecution
接口说明
创建临时执行作业实例
原型
POST /v1/project/<projectName>/execution
请求参数
参数 | 类型 | 位置 | 必须 | 说明 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
content | Property | Body | 是 | 作业组执行配置 |
Jobgroup.Content对象描述
参数 | 类型 | 必须 | 描述 |
---|---|---|---|
config | Map<String,Object> | 是 | 作业组运行配置 |
connections | Lis<Connection> | 是 | 作业组 DAG边连接信息,详见[Jobgroup.Content.Connection对象 ] |
nodes | List<JobNode> | 是 | 节点信息,详见[Jobgroup.Content.JobNode 对象信息 ] |
runtimeArgs | Map<String,String> | 否 | 运行时参数 |
Jobgroup.Content.Connection对象
描述DAG中的边(节点连接关系)
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
from | String | 是 | 节点连接线的源端的标识 |
to | String | 是 | 节点连接线的目的端的标识 |
Jobgroup.Content.JobNode对象
描述作业组节点配置信息
参数 | 类型 | 必须 | 描述 |
---|---|---|---|
name | String | 是 | 节点名称 |
type | String | 是 | 节点类型:edap,shell,python,spark,jdbc,hsql,quality,sparkscala,sparksql,pyspark,flinksql,flinkjar,di |
version | Integer | 否 | 节点中引用的某个作业的版本信息 |
config | Map<String,Object> | 是 | 作业节点运行配置,详见[Jobgroup.Content.JobNode.Property 对象] |
profile | String | 是 | 节点执行资源 |
controlFlags | ControlFlag | 否 | 节点的执行控制参数,详见[Jobgroup.Content.JobNode.ControlFlag 对象] |
pos | Position | 是 | 节点在画布上的位置信息,详见[Jobgroup.Content.JobNode.Position 对象] |
runtimeArgs | Map<String,String> | 否 | 节点运行时宏参数 |
Jobgroup.Content.JobNode.Property 对象
作业类型 | 可配置参数 | 类型 | 必须 | 描述 |
---|---|---|---|---|
edap | appsName | String | 是 | 引用的流水线作业名称 |
shell | command | String | 否 | 需要执行的 shell 脚本命令,当选择「shell 程序包」必填 |
filePath | String | 否 | shell作业上传的包路径,当选择「shell 程序包」可选填 | |
scriptName | String | 否 | shell作业节点引用的脚本作业名称,当选择「shell 脚本」必填 | |
envArgs | Map<String,String> | 否 | sh 脚本的环境变量,用户界面上用key-value形式填写。若用户未填写,该字段出现在 body中,用{}表示 | |
python | cmdParams | String | 否 | python命令行参数,用户填写时,多个参数用','分开。当选择「python 程序包」选填 |
filePath | String | 否 | python 作业上传的包路径,当选择「python 程序包」必填 | |
scriptName | String | 否 | python作业节点引用的脚本作业名称,当选择「python 脚本」必填 | |
envArgs | Map<String,String> | 否 | py 脚本的环境变量,用户界面上用key-value形式填写。若用户未填写,该字段出现在 body中,用{}表示 | |
hsql | connectionId | String | 是 | 用户勾选的源连接名称,当选择「在线编辑 SQL」为必选项 |
statement | String | 是 | 用户需要执行的 sql 语句,当选择「在线编辑 SQL」为必填项 | |
scriptName | String | 是 | 作业节点引用的脚本作业名称,当选择「SQL脚本」为必填项 | |
hiveConf | Map<String,String> | 否 | hive引擎执行参数,用户界面上用key-value形式填写。若用户未填写,该字段出现在 body中,用{}表示 | |
jdbc | connectionId | String | 是 | 用户勾选的源连接名称,当选择「在线编辑 SQL」为必选项 |
jdbcPluginName | String | 是 | 源连接驱动类型,当选择「在线编辑 SQL」为必选项 | |
statement | String | 是 | 用户需要执行的 sql 语句,当选择「在线编辑 SQL」为必填项 | |
scriptName | String | 是 | 作业节点引用的脚本作业名称,当选择「SQL脚本」为必填项 | |
spark | mainName | String | 是 | spark 主类所在的 jar 名称 |
filePath | String | 是 | spark执行包路径,支持.jar 和.zip; 若为.zip 文件,这需要指定主类所在的 jar,即参数 mainName | |
className | String | 是 | 主类名称 | |
appParams | Map<String,String> | 否 | spark main 函数参数,用户填写时,多个参数用','分开。 | |
submitParams | Map<String,String> | 否 | spark 提交参数,用户界面上用key-value形式填写。若用户未填写,该字段出现在 body中,用{}表示; 详见[spark引擎参数默认值 ] |
|
sparkConf | Map<String,String> | 否 | spark 运行时配置参数,用户界面上用key-value形式填写。若用户未填写,该字段出现在 body中,用{}表示 | |
sparkscala | scriptName | String | 是 | 作业节点引用的脚本作业名称 |
sparkConf | Map<String,String> | 否 | spark 运行时配置参数,用户界面上用key-value形式填写。若用户未填写,该字段出现在 body中,用{}表示 | |
pyspark | scriptName | String | 是 | 作业节点引用的脚本作业名称 |
sparkConf | Map<String,String> | 否 | spark 运行时配置参数,用户界面上用key-value形式填写。若用户未填写,该字段出现在 body中,用{}表示 | |
di | jobId | String | 是 | 数据集成Job的 Id |
sinkName | String | 是 | Job下的某一目标表名称 | |
watermark | String | 是 | 水位线信息,包括用户填入的时间字符串和logicalStartTime宏函数: 时间字符串的格式为 'yyyy-MM-ddTHH:mm:ssZ' ,如2022-02-12T14:00:32Z 宏函数的格式为${logicalStartTime(yyyy-MM-dd hh:mm:ss, offset)},如{$logicalStartTime(yyyy-MM-dd hh:mm:ss, -1d)} |
|
quality | topic | String | 是 | 质量任务所属的主题名称 |
database | String | 是 | 质量任务所属的数据库名称 | |
table | String | 是 | 质量任务验证的表名称 | |
qualityTaskId | String | 是 | 质量作业id | |
jobgroup | sourceName | String | 是 | 节点引用的作业组名称 |
jobName | String | 否 | 作业组的唯一名称 ID | |
datamask | taskId | String | 是 | 脱敏任务id |
Jobgroup.Content.JobNode.ControlFlag 执行控制对象
参数 | 类型 | 必须 | 描述 |
---|---|---|---|
timeoutInSeconds | Integer | 是 | 超时时间,单位 s。默认为0(不控制超时) |
retriesFlag | Boolean | 是 | 重试标记,默认为 false |
retries | Integer | 否 | 重试次数,默认为0 |
retryBackoffInMilliseconds | Long | 否 | 重试间隔,默认为0,单位 ms |
maxConcurrentNum | Integer | 否 | 作业执行最大并行度,默认为1 |
priority | Integer | 否 | 作业执行优先级参数,默认为5 |
condition | List<CondExpr> | 依赖结点参数表达式列表,默认为空,详见[`Jobgroup.Content.JobNode.ControlFlag.CondExpr 对象]` |
Jobgroup.Content.JobNode.ControlFlag.CondExpr 节点表达式对象
参数 | 类型 | 必须 | 描述 |
---|---|---|---|
jobName | String | 是 | 节点名称 |
parameter | String | 依赖参数,目前支持 STATUS | |
expression | String | 是 | 表达式,支持 ==all_success, ==success, ==failed, == all_done |
Jobgroup.Content.JobNode.Position 对象
参数 | 类型 | 必须 | 描述 |
---|---|---|---|
left | Integer | 是 | 距离屏幕左端的像素点 |
top | Integer | 是 | 距离屏幕上端的像素点 |
- 其中,作业组中作业节点执行控制参数(带星参数对于该执行接口无效)
参数说明 | 参数 | 类型 | 必须 | 描述 |
---|---|---|---|---|
作业节点执行 控制参数 |
condition | List<ConExp> | 否 | 依赖节点参数表达式列表,组成一个 ConExp 对象的列表传入。若 condition 为空,则依赖节点设置开关为关闭状态 |
timeoutInSeconds* | Integer | 是 | 最长执行时间(秒)(前端需要将时间单位做一下统一,统一为秒),默认3600 | |
retriesFlag* | Boolean | 是 | 是否失败重试,默认为false(是) | |
retries* | Integer | 是 | 最大失败重试次数,失败重试为 true 时生效,默认为1 | |
retryBackoffInMilliseconds* | Integer | 是 | 重试时间间隔(毫秒),失败重试为 true 时生效,默认为100 | |
maxConcurrentNum* | Integer | 是 | 最大并行作业数,默认为1 | |
priority* | Integer | 是 | 作业优先级参数,默认为5 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
execId | String | 执行实例ID,带有Z前缀的为临时执行的执行Id |
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
ProjectNotFound | Project is not found. | 404 | 项目空间不存在 |
请求示例
1POST /v1/project/project1/execution
2Host: edap.bj.baidubce.com
3Content-Length: 0
4Content-Type: application/json
5
6{
7 "content":{
8 "runtimeArgs":{
9
10 },
11 "connections":[
12 {
13 "from":"Shell",
14 "to":"JDBCSQL"
15 }
16 ],
17 "config":{
18 "profiles":[
19 "aaa"
20 ]
21 },
22 "nodes":[
23 {
24 "name":"HIVESQL",
25 "type":"hsql",
26 "profile":"aaa",
27 "runtimeArgs":{
28
29 },
30 "controlFlags":{
31 "condition":[
32
33 ],
34 "timeoutInSeconds":600,
35 "maxConcurrentNum":1,
36 "retriesFlag":false,
37 "retries":1,
38 "retryBackoffInMilliseconds":100,
39 "priority":5,
40 "dependsOn":""
41 },
42 "config":{
43 "hiveConf":{
44
45 },
46 "connectionId":"123",
47 "statement":"show tables;",
48 "scriptName":""
49 }
50 },
51 {
52 "name":"JDBCSQL",
53 "type":"jdbc",
54 "profile":"aaa",
55 "runtimeArgs":{
56
57 },
58 "controlFlags":{
59 "condition":[
60
61 ],
62 "timeoutInSeconds":600,
63 "maxConcurrentNum":1,
64 "retriesFlag":false,
65 "retries":1,
66 "retryBackoffInMilliseconds":100,
67 "priority":5,
68 "dependsOn":""
69 },
70 "config":{
71 "jdbcPluginName":"mysql",
72 "connectionId":"aaa",
73 "statement":"show tables;",
74 "scriptName":""
75 }
76 },
77 {
78 "name":"Shell",
79 "type":"shell",
80 "profile":"aaa",
81 "runtimeArgs":{
82
83 },
84 "controlFlags":{
85 "condition":[
86
87 ],
88 "timeoutInSeconds":600,
89 "maxConcurrentNum":1,
90 "retriesFlag":false,
91 "retries":1,
92 "retryBackoffInMilliseconds":100,
93 "priority":5,
94 "dependsOn":""
95 },
96 "config":{
97 "command":"ls /",
98 "filePath":"bos://xxx",
99 "envArgs":{
100
101 }
102 }
103 }
104 ]
105 }
106}
响应示例
1HTTP/1.1 200 OK
2Content-Length: xxxx
3Content-Type: application/json
4
5{
6 "execId" : "Z123"
7}
RerunExecution
接口说明
重跑作业执行实例
原型
POST /v1/project/<projectName>/execution/<execId>?rerun
请求参数
参数 | 类型 | 位置 | 必须 | 说明 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
execId | String | URL | 是 | 执行实例Id |
setSkip | List<String> | Body | 否 | 重跑跳过的节点列表, <节点名称>, 节点跳过后执行状态为 SKIPPED,作业组类型实例有效 |
setSucc | List<String> | Body | 否 | 重跑置为成功的节点列表, <节点名称>,作业组类型实例有效 |
startNodes | List<String> | Body | 否 | 重跑起始节点列表, <节点名称>, 从起始节点开始调度作业组DAG子图,作业组类型实例有效 |
rerunAllNodes | Boolean | Body | 否 | 是否重跑所有节点,true表示重跑所有节点,false表示仅重跑失败节点,默认为true,,作业组类型实例有效 |
runNodes | List<String> | Body | 否 | 需要重跑的节点列表,其他节点状态与上次执行保持一致,作业组类型实例有效 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
execId | String | 作业执行实例 ID |
rerunId | Integer | 作业重跑批次ID |
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
ProjectNotFound | Project is not found. | 404 | 项目空间不存在 |
ExecutionNotFound | Execution is not found. | 404 | 实例不存在 |
ExecutionIsRunning | Execution {0} is running. | 409 | 实例{0}正在运行中 |
请求示例
1POST /v1/project/project1/execution/Z123?rerun
2Host: edap.bj.baidubce.com
3Content-Length: 0
4Content-Type: application/json
5
6
7{
8 "rerunNodes":["nodeA","nodeB","NodeC"]
9}
响应示例
1HTTP/1.1 200 OK
2Content-Length: xxxx
3Content-Type: application/json
4
5{
6 "rerunId": 1
7}
GetExecutionStatus
接口说明
获取作业组执行实例状态信息
原型
GET /v1/project/<projectName>/execution/<execId>?status
请求参数
参数 | 类型 | 位置 | 必须 | 说明 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
execId | String | URL | 是 | 执行实例Id |
响应参数
当作业实例来自于 jobgroup 类型执行时
名称 | 类型 | 描述 |
---|---|---|
startTime | DateTime | 开始时间,格式: yyyy-MM-ddTHH:mm:ssZ |
endTime | String | 结束时间,格式: yyyy-MM-ddTHH:mm:ssZ |
status | String | 此次运行状态枚举: STARTING, RUNNING, SUCCEED, FAILED, KILLED |
nodes | List<NodeRunStatus> | 作业组内部各节点任务状态,详见[NodeRunStatus 对象 ] |
NodeRunStatus 对象
名称 | 类型 | 描述 |
---|---|---|
name | String | 节点名称 |
type | String | 节点类型 |
startTime | DateTime | 开始时间,格式: yyyy-MM-ddTHH:mm:ssZ |
endTime | String | 结束时间,格式: yyyy-MM-ddTHH:mm:ssZ |
status | String | 此次运行状态枚举: READY, QUEUED, PREPARING, RUNNING, SUCCEED, FAILED, KILLED |
profile | String | 执行资源 |
in | List<String> | 上游节点名称集合 |
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
ProjectNotFound | Project is not found. | 404 | 项目空间不存在 |
ExecutionNotFound | Executionis not found. | 404 | 实例不存在 |
请求示例
1GET /v1/project/project1/execution/Z123?status
2Host : edap.bj.baidubce.com
3Content - Length : 0
4Content - Type : application/json
响应示例
1HTTP/ 1.1 200 OK
2Content-Length:xxxx
3Content-Type:application/json
4
5{
6 "status": "FAILED",
7 "startTime": "2020-02-11T09:00:21Z",
8 "endTime": "2020-02-11T09:24:57Z",
9 "nodes": [
10 {
11 "startTime": "2020-02-11T09:24:57Z",
12 "endTime": "2020-02-11T09:24:57Z",
13 "name": "test",
14 "status": "CANCELLED",
15 "type": "command",
16 "profile": "bmr1",
17 "in": [
18 "test-foo"
19 ]
20 },
21 {
22 "startTime": "2020-02-11T09:24:57Z",
23 "endTime": "2020-02-11T09:24:57Z",
24 "name": "test-bar",
25 "status": "SUCCEEDED",
26 "type": "edap",
27 "profile": "bmr1"
28 },
29 {
30 "startTime": "2020-02-11T09:24:57Z",
31 "endTime": "20200211T09:24:57Z",
32 "name": "test-foobar",
33 "status": "FAILED",
34 "type": "edap",
35 "profile": "bmr1",
36 "in": [
37 "test-bar"
38 ]
39 },
40 {
41 "startTime": "2020-02-11T09:24:57Z",
42 "endTime": "2020-02-11T09:24:57Z",
43 "name": "test-foo",
44 "status": "CANCELLED",
45 "type": "spark",
46 "profile": "bmr1",
47 "appUrl": "https://bmr.bce.baidu.com/e8fde22f-1504-4993-7125-f69c14d20809/8088/cluster/app/application_1643576560043_10161",
48 "in": [
49 "test-foobar"
50 ]
51 }
52 ]
53}
GetExecutionLog
接口说明
获取执行作业组实例日志。
原型
GET /v1/project/<projectName>/execution/<execId>?log
请求参数
参数 | 类型 | 位置 | 必须 | 说明 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
execId | String | URL | 是 | 执行实例ID |
marker | String | QueryString | 否 | 分页标识 |
limit | Integer | QueryString | 否 | 获取的最大行数 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
marker | String | 分页标识 |
nextMarker | String | 获取下一页所需marker值 |
isTruncated | Bool | 是否还有下一页数据, true为有 |
log | List<String> | log内容 |
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
请求示例
1GET /v1/project/project1/execution/Z123?log&marker=0&limit=1000
2Host: edap.bj.baidubce.com
3Content-Length: 0
4Content-Type: application/json
响应示例
1HTTP/1.1 200 OK
2Content-Length: xxxx
3Content-Type: application/json
4
5{
6 "marker": "0",
7 "nextMaker": "1576753441596",
8 "isTruncated": false,
9 "log": [
10 "2019-12-19 14:41:25,870 - DEBUG [provisioning-service-4:i.c.c.i.p.t.ProvisioningTask@121] - Executing PROVISION subtask REQUESTING_CREATE for program run program_run:default.file2file_v1.-SNAPSHOT.workflow.DataPipelineWorkflow.4bfd3c14-f629-11e9-a615-000000735566.\n",
11 "2019-12-19 14:41:25,871 - DEBUG [provisioning-service-4:i.c.c.i.p.t.ProvisioningTask@121] - Executing PROVISION subtask REQUESTING_CREATE for program run program_run:default.file2file_v1.-SNAPSHOT.workflow.DataPipelineWorkflow.4bfd3c14-f629-11e9-a615-000000735568.\n"
12 ]
13}}
GetJobExecutionLog
接口说明
获取执行实例的作业组中的作业节点日志或者某个作业实例的执行日志。
原型
GET /v1/project/<projectName>/execution/<execId>/job/<jobName>?log
请求参数
参数 | 类型 | 位置 | 必须 | 说明 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
execId | String | URL | 是 | 执行实例Id |
jobName | String | URL | 是 | 作业名称 |
marker | String | QueryString | 否 | 分页标识 |
limit | Integer | QueryString | 否 | 返回最大行数,默认100条 |
filter | String | QueryString | 否 | 过滤条件,如 {"INFO", "WARN", "ERROR"},默认INFO 注:此参数目前只有pipeline和 realtime类型支持 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
marker | String | 分页标识 |
nextMarker | String | 获取下一页所需marker值 |
isTruncated | Bool | 是否还有下一页数据, true为有 |
log | List<String> | log内容 |
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
请求示例
1GET /v1/project/project1/execution/Z_123/job/FileTest01?log&marker=0&limit=1000
2Host: edap.bj.baidubce.com
3Content-Length: 0
4Content-Type: application/json
响应示例
1HTTP/1.1 200 OK
2Content-Length: xxxx
3Content-Type: application/json
4
5{
6 "marker": "0",
7 "nextMaker": "1576753441596",
8 "isTruncated": false,
9 "log": [
10 "2019-12-19 14:41:25,870 - DEBUG [provisioning-service-4:i.c.c.i.p.t.ProvisioningTask@121] - Executing PROVISION subtask REQUESTING_CREATE for program run program_run:default.file2file_v1.-SNAPSHOT.workflow.DataPipelineWorkflow.4bfd3c14-f629-11e9-a615-000000735566.\n",
11 "2019-12-19 14:41:25,871 - DEBUG [provisioning-service-4:i.c.c.i.p.t.ProvisioningTask@121] - Executing PROVISION subtask REQUESTING_CREATE for program run program_run:default.file2file_v1.-SNAPSHOT.workflow.DataPipelineWorkflow.4bfd3c14-f629-11e9-a615-000000735568.\n"
12 ]
13}
GetExecutionOutput
接口描述
获取脚本作业执行实例的输出结果
原型
GET /v1/project/<projectName>/execution/<execId>/job/<jobName>?output
请求参数
参数 | 类型 | 位置 | 必须 | 说明 |
---|---|---|---|---|
projectName | String | URL | 是 | 项目空间名称 |
execId | String | URL | 是 | 执行ID |
jobName | String | URL | 是 | 作业名称 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
columns | List<String> | 查询结果列名 |
rows | List<List<Object>> | 数据结果 |
错误码
Code | message | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | No permission to operate project | 403 | 无权限 |
请求示例
1GET /v1/project/project1/execution/Z_123/job/FileTest01?output
2Host: edap.bj.baidubce.com
3Content-Length: xxxx
4Content-Type: application/json
响应示例
1HTTP/1.1 200 OK
2Content-Length: xxxx
3Content-Type: application/json
4{
5 "columns":[
6 "col1",
7 "col2"
8 ],
9 "rows":[
10 [
11 "hello",
12 "world"
13 ],
14 [
15 "next",
16 "time"
17 ]
18 ]
19}