错误码
9 Flink 作业相关 API
9.2 新建 SQL 作业
功能介绍
该API用于创建Flink SQL作业。
调试
您可以在API Explorer中调试该接口。
URI
● URI格式
POST /v1.0/{project_id}/streaming/sql-jobs
● 参数说明
表9-5 URI 参数说明 参数名称 是否必
选
参数 类型
说明
project_id 是 String 项目编号,用于资源隔离。获取方式请参考获 取项目ID。
请求消息
表9-6 请求参数说明
参数名称 是否必
选
参数类 型
说明
name 是 String 作业名称。长度限制:0-57个字符。
desc 否 String 作业描述。长度限制:0-512个字符。
template_id 否 Integer 模板ID。
如果“template_id”和“sql_body”都不为 空,优先选择“sql_body”的内容;如果
“template_id”不为空,“sql_body”为 空,选择“template_id”的内容填充
“sql_body”。
queue_name 否 String 队列名称。长度限制:1-128个字符。
sql_body 否 String Stream SQL语句,至少包含source, query, sink三个部分。长度限制:1024*1024个字 符。
API 参考 9 Flink 作业相关 API
参数名称 是否必 选
参数类 型
说明
run_mode 否 String 作业运行模式:
● shared_cluster:共享。
● exclusive_cluster:独享。
● edge_node:边缘节点。
默认值为“shared_cluster”。
cu_number 否 Integer 用户为作业选择的CU数。默认值为“2”。
parallel_numb
er 否 Integer 用户设置的作业并行数目。默认值为“1”。
checkpoint_en
abled 否 Boolea
n 是否开启作业自动快照功能。
● 1:表示exactly_once,数据只被消费一 次。
● 2:表示at_least_once,数据至少被消费 一次。
默认值为1。
checkpoint_int
erval 否 Integer 快照时间间隔。单位为秒,默认值为
“10”。
obs_bucket 否 String 当“checkpoint_enabled”为“true”时,该 参数是用户授权保存快照的OBS路径。
当“log_enabled” 为“true”时,该参数是 用户授权保存作业日志的OBS路径。
log_enabled 否 Boolea
n 是否开启作业的日志上传到用户的OBS功 能。默认为“false”。
smn_topic 否 String 当作业异常时,向该SMN主题推送告警信 息。
restart_when_
exception 否 Boolea
n 是否开启作业异常自动重启。默认为
“false”。
idle_state_rete
ntion 否 Integer 空闲状态保留时间。单位为小时,默认值为
“1”。
API 参考 9 Flink 作业相关 API
参数名称 是否必 选
参数类 型
说明
job_type 否 String 作业类型:flink_sql_job,flink_sql_edge_job 和flink_opensource_sql_job。
● “run_mode”为“edge_node”时,作业 类型须为“flink_sql_edge_job”。
● “run_mode”为“shared_cluster”和
“exclusive_cluster”时,作业类型须为
“flink_sql_job”。
● 默认值:“flink_sql_job”。
edge_group_id
s 否 Array
ofStrings
边缘计算组ID列表, 多个ID以逗号分隔。
dirty_data_stra
tegy 否 String 作业脏数据策略。
● “2:obsDir”:保存,obsDir表示脏数据 存储路径。
● “1”:抛出异常。
● “0”:忽略。
默认值为““0””。
udf_jar_url 否 String 用户已上传到DLI资源管理系统的资源包名,
用户sql作业的udf jar包通过该参数传入。
manager_cu_n
umber 否 Integer 用户为作业选择的管理单元(jobmanager)
CU数量,默认值为“1”。
tm_cus 否 Integer 每个taskmanager的CU数,默认值为“1”。
tm_slot_num 否 Integer 每个taskmanager的slot数,默认值为
“(parallel_number*tm_cus)/(cu_number-manager_cu_number)”。
resume_check
point 否 Boolea
n 异常重启是否从checkpoint恢复。
resume_max_n
um 否 Integer 异常重试最大次数,单位:次/小时。取值范 围:-1或大于0。默认值为“-1”,表示无限 次数。
tags 否 Array
ofObject s
Flink SQL作业的标签。具体请参考表9-7。
runtime_config 否 String Flink作业运行时自定义优化参数。
API 参考 9 Flink 作业相关 API
表9-7 tags 参数 参数名称 是否必
选
参数类型 说明
key 是 String 标签的键。
value 是 String 标签的值。
响应消息
表9-8 响应参数说明
参数名称 是否必选 参数类型 说明
is_success 否 Boolean 执行请求是否成功。“true”表示请求 执行成功。
message 否 String 消息内容。
job 否 Object 作业状态信息。具体请参考表9-9。
表9-9 job 参数说明
参数名称 是否必选 参数类型 说明 job_id 是 Long 作业ID。
status_name 否 String 当前状态名称。
status_desc 否 String 当前状态描述。包含异常状态原因及建 议。
示例
● 请求样例
{ "name": "myjob",
"desc": "这是个做字符记数的作业", "template_id": 100000,
"queue_name": "testQueue",
"sql_body": "select * from source_table", "run_mode": "exclusive_cluster", "cu_number": 2,
"parallel_number": 1, "checkpoint_enabled": false, "checkpoint_mode": "exactly_once", "checkpoint_interval": 0,
"obs_bucket": "my_obs_bucket", "log_enabled": false,
"restart_when_exception": false, "idle_state_retention": 3600,
API 参考 9 Flink 作业相关 API
"udf_jar_url": "group/test.jar"
}
● 响应样例
{ "is_success": "true", "message": "创建作业成功", "job": {
"job_id": 148,
"status_name": "job_init", "status_desc": ""
} }
状态码
状态码如表9-10所示。
表9-10 状态码
状态码 描述
200 创建作业成功。
400 输入参数无效。
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参 见错误码。