• 沒有找到結果。

错误码

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 输入参数无效。

错误码

调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参 见错误码。