更新时间:2026-10-21 GMT+08:00
分享

通过API方式连接Flink端点并提交作业

在AI DataLake控制台上创建Flink端点后,即可向该端点提交Flink作业,利用端点的计算能力处理数据。目前支持通过API方式提交Flink SQL和Flink JAR。

前提条件

  • 已获取工作空间ID 。

    登录AI DataLake管理控制台,在“工作空间管理”页面找到目标工作空间ID。

  • 已获取Flink端点名称(endpoint_name)。

    登录AI DataLake管理控制台,在“引擎端点”下的“流处理引擎Flink”页面找到目标Flink端点名称。

  • 已根据作业类型编写对应的作业文件,并将编写好的文件上传至OBS桶,记录其OBS路径。

提交Flink SQL作业

使用Postman等工具,调用创建FlinkJob作业API接口创建并启动一个Flink SQL作业,代码示例如下。
POST /v2/workspaces/{workspace_id}/flink-jobs

{
  "name" : "test-flink-job",
  "description" : "测试Flink SQL作业",
  "endpoint_name" : "Flink-endpoint-test",
  "job_agency" : "test-agencys",
  "execution_mode" : "STREAMING",
  "job_config" : {
    "type" : "FLINK_SQL_JOB",
    "sql_script_file" : "obs://bucket/path/to/script.sql",
    "dependency_jars" : [ "obs://bucket/path/to/dep1.jar" ]
  },
  "image_config": {
    "image_id": "dd877a59-5cbd-44c5-b8a7-dc464cca****",
    "image_version_id": "01ae8ee6-af8a-48a8-895b-8d4a70bf****"
  },
  "flink_config" : {
    "taskmanager.numberOfTaskSlots" : "1"
  },
  "autoscaling_policy" : {
    "enabled" : true,
    "vertex_max_parallelism" : 1000,
    "quota_cpu" : 4000,
    "quota_memory" : 8192,
    "custom_config" : {
      "job.autoscaler.target.utilization" : "0.6",
      "job.autoscaler.target.catch-up.duration" : "10 min"
    }
  },
  "resource_config" : {
    "parallelism" : 1,
    "jobmanager_resource_spec" : {
      "cpu" : 1000,
      "memory" : 4096
    },
    "taskmanager_resource_spec" : {
      "cpu" : 1000,
      "memory" : 4096
    }
  }
}
表1 Flink SQL作业参数说明

参数

说明

示例

workspace_id

工作空间ID。

登录AI DataLake管理控制台,在“工作空间管理”页面找到目标工作空间ID。

980a81cf-8**1-4**6-b**9-c80******ed1

job_agency

用户自定义委托名称,用于授权作业访问OBS等外部资源。

test-agencys

endpoint_name

端点名称。

登录AI DataLake管理控制台,在“引擎端点”下的“流处理引擎Flink”页面找到目标Flink端点名称。

Flink-endpoint-test

type

Flink作业类型。

FLINK_SQL_JOB

sql_script_file

SQL脚本所在的OBS文件路径。

obs://bucket/path/to/script.sql

dependency_jars

SQL作业依赖的JAR包OBS路径列表。

obs://bucket/path/to/dep1.jar

image_id

镜像ID,请通过调用查看自定义镜像列表接口查询获取。

dd877a59-5cbd-44c5-b8a7-dc464cca****

image_version_id

说明:

如果端点的资源使用模式为混合模式和按需弹性,且当前所选镜像版本已创建镜像快照,选择该版本镜像时会自动关联对应的镜像快照,端点启动时自动使用快照创建镜像资源,无需额外操作。创建镜像快照的具体操作,请参见镜像加速。

镜像版本。查看镜像版本的具体操作如下:

  1. 在AI DataLake管理控制台页面的左侧导航栏,选择“镜像管理”。
  2. 在“预置镜像”或“自定义镜像”页签下,单击镜像名称。
  3. 查看预置镜像或者自定义镜像的版本。
    • 查看预置镜像版本:单击“版本”页签,在“镜像版本”列,查看预置镜像的版本。
    • 查看自定义镜像版本:在“镜像版本”列,查看自定义镜像的版本。

      如果没有自定义镜像,请手动注册。具体操作,请参见注册自定义镜像。

20e48735-f273-413c-a0f5-4cd4544f****

提交Flink JAR作业

使用Postman等工具,调用创建FlinkJob作业API接口创建并启动一个Flink JAR作业,代码示例如下。
POST /v2/workspaces/{workspace_id}/flink-jobs

{
  "name" : "test-flink-jar-job",
  "description" : "测试Flink JAR作业",
  "endpoint_name" : "Flink-endpoint-test",
  "job_agency" : "test-agencys",
  "execution_mode" : "STREAMING",
  "job_config" : {
    "type" : "FLINK_JAR_JOB",
    "main_jar" : "obs://bucket/path/jars/WindowJoin.jar",
    "main_class" : "org.apache.flink.streaming.examples.join.WindowJoin",
    "main_args" : [ "--input", "obs://bucket/input/", "--output", "obs://bucket/output/" ],
    "dependency_jars" : [ "obs://bucket/path/to/dep1.jar" ],
    "dependency_files" : [ "obs://bucket/path/to/config.csv" ]
  },
  "image_config": {
    "image_id": "dd877a59-5cbd-44c5-b8a7-dc464cca****",
    "image_version_id": "01ae8ee6-af8a-48a8-895b-8d4a70bf****"
  },
  "resource_config" : {
    "parallelism" : 1,
    "jobmanager_resource_spec" : {
      "cpu" : 1000,
      "memory" : 4096
    },
    "taskmanager_resource_spec" : {
      "cpu" : 1000,
      "memory" : 4096
    }
  }
}
表2 Flink JAR作业参数说明

参数

说明

示例

workspace_id

工作空间ID。

登录AI DataLake管理控制台,在“工作空间管理”页面找到目标工作空间ID。

980a81cf-8**1-4**6-b**9-c80******ed1

job_agency

用户自定义委托名称,用于授权作业访问OBS等外部资源。

test-agencys

endpoint_name

端点名称。

登录AI DataLake管理控制台,在“引擎端点”下的“流处理引擎Flink”页面找到目标Flink端点名称。

Flink-endpoint-test

type

Flink作业类型。

FLINK_JAR_JOB

main_jar

JAR作业主类所在JAR包的OBS路径,用于指定作业的入口JAR包。

obs://bucket/path/jars/WindowJoin.jar

main_class

JAR作业入口类全限定名,用于指定作业的入口类。

org.apache.flink.streaming.examples.join.WindowJoin

main_args

JAR作业入口类参数。

"--input", "obs://bucket/input/", "--output", "obs://bucket/output/"

dependency_jars

JAR作业依赖JAR包的OBS路径列表。

obs://bucket/path/to/dep1.jar

dependency_files

JAR作业依赖文件的OBS路径,用于指定作业运行所需的依赖文件。

obs://bucket/path/to/config.csv

image_id

镜像ID,请通过调用查看自定义镜像列表接口查询获取。

dd877a59-5cbd-44c5-b8a7-dc464cca****

image_version_id

说明:

如果端点的资源使用模式为混合模式和按需弹性,且当前所选镜像版本已创建镜像快照,选择该版本镜像时会自动关联对应的镜像快照,端点启动时自动使用快照创建镜像资源,无需额外操作。创建镜像快照的具体操作,请参见镜像加速。

镜像版本。查看镜像版本的具体操作如下:

  1. 在AI DataLake管理控制台页面的左侧导航栏,选择“资产管理 > 镜像”。
  2. 在“预置镜像”或“自定义镜像”页签下,单击镜像名称。
  3. 查看预置镜像或者自定义镜像的版本。
    • 查看预置镜像版本:单击“版本”页签,在“镜像版本”列,查看预置镜像的版本。
    • 查看自定义镜像版本:在“镜像版本”列,查看自定义镜像的版本。

      如果没有自定义镜像,请手动注册。具体操作,请参见注册自定义镜像。

20e48735-f273-413c-a0f5-4cd4544f****

相关文档