华为云用户手册

  • 请求示例 创建一个弹性资源池,最大CU为684,最小CU为684。 { "elastic_resource_pool_name" : "elastic_pool_0623_02", "description" : "test", "cidr_in_vpc" : "172.16.0.0/14", "charging_mode" : "1", "max_cu" : 684, "min_cu" : 684 }
  • 请求消息 表2 请求参数说明 参数 是否必选 参数类型 描述 elastic_resource_pool_name 是 String 新建的弹性资源池名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。长度限制:1~128个字符。 说明: 若名称中包含大写字母,将会自动转换为小写字母。 description 否 String 描述信息。长度限制:256个字符以内。 cidr_in_vpc 否 String 虚拟集群关联的vpc cidr。如果不填,默认值为172.16.0.0/12。 max_cu 是 Integer 最大CU大于等于该资源池下任意一个队列的最大CU之和且大于min_cu 标准版:最小值为64CUs 基础版:最小值为16CUs,最大值为64CUs min_cu 是 Integer 最小CU大于等于该资源池下所有队列最小CU之和,最小值为64。 标准版:最小值为64CUs 基础版:最小值为16CUs,最大值为64CUs charging_mode 否 Integer 计费类型:默认值是1,表示按需计费。 enterprise_project_id 否 String 企业ID,不填默认为“0”。 tags 否 Array of Objects 队列的标签,使用标签标识云资源。包括“标签键”和“标签值”,具体请参考表3。 label 否 map 弹性资源池属性字段。 如果需要购买基础版,配置该参数值为{"spec":"basic"}。 不配置该参数时默认为标准版弹性资源池。 表3 tags参数 参数名称 是否必选 参数类型 说明 key 是 String 标签的键。 说明: 标签的键的最大长度为128个字符,标签的键可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格,不能以_sys_开头。 value 是 String 标签的值。 说明: 标签值的最大长度为255个字符,标签的值可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格。
  • 请求示例 赋予某项目(项目ID:0732e57c728025922f04c01273686950)数据库db1的查询权限、数据表db1.tbl的删除权限、数据表指定列db1.tbl.column1的查询权限。 { "grant_project_id": "0732e57c728025922f04c01273686950", "action": "grant", "privileges": [ { "object": "databases.db1.tables.tb2.columns.column1", "privileges": ["SELECT"] }, { "object": "databases.db1.tables.tbl", "privileges": ["DROP_TABLE"] }, { "object": "databases.db1", "privileges": ["SELECT"] } ] } 赋予某用户dlitest的数据库dbtest的查询数据权限。 { "action": "grant", "privileges": [ { "object": "databases.dbtest", "privileges": [ "SELECT" ] } ], "user_name": "dlitest" }
  • 请求消息 表2 请求参数 参数 是否必选 参数类型 说明 user_name 否 String 被赋权的用户名称,该用户将有权访问指定的数据库或数据表,被收回或者更新访问权限。 grant_project_id 否 String 被赋权的项目ID,数据赋权给其他项目后,该项目的管理员将有权访问指定的数据库或数据表。 action 是 String 指定赋权或回收。 grant:赋予权限 revoke:回收权限 update:更新权限 说明: 当用户同时拥有grant和revoke权限的时候才有权限使用update操作。 privileges 是 Array of objects 赋权信息。具体参数请参考表3。 表3 privileges参数 参数 是否必选 参数类型 说明 object 是 String 被赋权的数据对象,命名方式为: “databases.数据库名”,则数据库下面的所有数据都将被共享。 “databases.数据库名.tables.表名”, 指定的表的数据将被共享。 “databases.数据库名.tables.表名.columns.列名”,指定的列将被共享。 “edsconnections.连接ID”,赋予某增强型跨源连接的使用权限。 privileges 是 Array of strings 待赋权,回收或更新的权限列表。 说明: 若“action”为“update”,更新列表为空,则表示回收用户在该数据库或表的所有权限。
  • 响应示例 { "message": "", "is_success": true, "error_code": "", "stream_graph": "{\n \"jid\" : \"44334c4259f6714bddef1ac525364052\",\n \"name\" : \"InternalJob_1715392878428\",\n \"nodes\" : [ {\n \"id\" : \"0a448493b4782967b150582570326227\",\n \"parallelism\" : 1,\n \"operator\" : \"\",\n \"operator_strategy\" : \"\",\n \"description\" : \"Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])\",\n \"chain_operators_id\" : [ \"0a448493b4782967b150582570326227\" ],\n \"inputs\" : [ {\n \"num\" : 0,\n \"id\" : \"bc764cd8ddf7a0cff126f51c16239658\",\n \"ship_strategy\" : \"FORWARD\",\n \"exchange\" : \"pipelined_bounded\"\n } ],\n \"optimizer_properties\" : {}\n }, {\n \"id\" : \"bc764cd8ddf7a0cff126f51c16239658\",\n \"parallelism\" : 2,\n \"operator\" : \"\",\n \"operator_strategy\" : \"\",\n \"description\" : \"Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])\",\n \"chain_operators_id\" : [ \"bc764cd8ddf7a0cff126f51c16239658\" ],\n \"optimizer_properties\" : {}\n } ],\n \"operator_list\" : [ {\n \"id\" : \"0a448493b4782967b150582570326227\",\n \"name\" : \"Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])\",\n \"type\" : \"Sink\",\n \"contents\" : \"Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])\",\n \"parallelism\" : 1,\n \"tags\" : \"[SINK]\",\n \"input_operators_id\" : [ \"bc764cd8ddf7a0cff126f51c16239658\" ]\n }, {\n \"id\" : \"bc764cd8ddf7a0cff126f51c16239658\",\n \"name\" : \"Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])\",\n \"type\" : \"Source\",\n \"contents\" : \"TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])\",\n \"parallelism\" : 2,\n \"tags\" : \"[PRO CES S, UDF]\",\n \"input_operators_id\" : [ ]\n } ]\n}" } 为了便于查看返回体信息,我们将stream_graph格式化后如下所示: "jid": "65b6a7b0c1ad95b1722a92b49d2f6eba", "name": "InternalJob_1715392245413", "nodes": [ { "id": "0a448493b4782967b150582570326227", "parallelism": 1, "operator": "", "operator_strategy": "", "description": "Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])", "chain_operators_id": [ "0a448493b4782967b150582570326227" ], "inputs": [ { "num": 0, "id": "bc764cd8ddf7a0cff126f51c16239658", "ship_strategy": "FORWARD", "exchange": "pipelined_bounded" } ], "optimizer_properties": { } }, { "id": "bc764cd8ddf7a0cff126f51c16239658", "parallelism": 2, "operator": "", "operator_strategy": "", "description": "Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])", "chain_operators_id": [ "bc764cd8ddf7a0cff126f51c16239658" ], "optimizer_properties": { } } ], "operator_list": [ { "id": "0a448493b4782967b150582570326227", "name": "Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])", "type": "Sink", "contents": "Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])", "parallelism": 1, "tags": "[SINK]", "input_operators_id": [ "bc764cd8ddf7a0cff126f51c16239658" ] }, { "id": "bc764cd8ddf7a0cff126f51c16239658", "name": "Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])", "type": "Source", "contents": "TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])", "parallelism": 2, "tags": "[PROCESS, UDF]", "input_operators_id": [ ] } ] }
  • 请求示例 生成Flink SQL作业的静态流图,流图的类型为静态流图。 { "job_type": "flink_opensource_sql_job", "graph_type": "job_graph", "sql_body": "create table orders(\r\n name string,\r\n num int\r\n) with (\r\n 'connector' = 'datagen',\r\n 'rows-per-second' = '1', --每秒生成一条数据\r\n 'fields.name.kind' = 'random', --为字段user_id指定random生成器\r\n 'fields.name.length' = '5' --限制user_id长度为3\r\n);\r\n \r\nCREATE TABLE sink_table (\r\n name string,\r\n num int\r\n) WITH (\r\n 'connector' = 'print'\r\n);\r\nINSERT into sink_table SELECT * FROM orders;", "cu_number": 2, "manager_cu_number": 1, "parallel_number": 2, "tm_cus": 1, "tm_slot_num": 0, "operator_config": "", "static_estimator": true, "flink_version": "1.12", "static_estimator_config": "{\"operator_list\":[{\"id\":\"0a448493b4782967b150582570326227\",\"output_rate\":1000},{\"id\":\"bc764cd8ddf7a0cff126f51c16239658\",\"output_rate\":1000}]}" }
  • 请求消息 表2 请求参数说明 参数名称 是否必选 参数类型 说明 sql_body 是 String SQL。 cu_number 否 Integer 是在作业编辑页面配置的作业占用资源总CU数,需配置与实际占用资源一致,作业实际占用资源根据算子并行数按需申请。 cu_number = 管理单元 + (算子总并行数 / 单TM Slot数) * 单TM所占CU数 manager_cu_number 否 Integer 管理单元CU数。 parallel_number 否 Integer 最大并行度。 并行数为作业每个算子的并行数,适度增加并行数会提高作业整体算力,但也须考虑线程增多带来的切换开销,上限是计算单元CU数的4倍,最佳实践为计算单元CU数的1-2倍。 tm_cus 否 Integer 单个taskManagerCU数量。 tm_slot_num 否 Integer 单个taskManager Slot数量。 operator_config 否 String 算子的配置。 可先行调用该接口获取算子ID,即响应消息中stream_graph包含的operator_list中的id即为算子ID。 static_estimator 否 Boolean 是否静态资源预估。 配置为true时,即根据算子ID和流量预估作业消耗资源。 static_estimator_config 否 String 每个算子的流量/命中率配置,json格式的字符串。 当static_estimator为true时需要配置该参数,配置时传入算子ID和算子流量配置。 可先行调用该接口获取算子ID,即响应消息中stream_graph包含的operator_list中的id即为算子ID。 算子流量根据用户业务实际情况预估。 job_type 否 String 作业类型。 只支持flink_opensource_sql_job类型作业。 graph_type 否 String 流图类型。当前支持以下两种流图类型。 简化流图:simple_graph 静态流图:job_graph flink_version 否 String Flink版本。当前只支持1.10和1.12。
  • 响应示例 { "is_success": true, "message": "", "job_id": "ead0b276-8ed4-4eb5-b520-58f1511e7033", "job_type": "QUERY", "row_count": 1, "input_size": 74, "schema": [ { "c1": "int" }, { "c2": "string" } ], "rows": [ [ 23, "sda" ] ] }
  • URI URI格式: GET /v1.0/{project_id}/jobs/{job_id}/preview 参数说明 表1 URI 参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 job_id 是 String 作业ID。 表2 query参数 参数名称 是否必选 参数类型 说明 page-size 否 Long 结果行数,范围: [1, 1000]。默认值为:1000。 queue-name 否 String 指定获取作业结果的执行队列名称。若不指定则使用默认的系统队列。 带入query参数的URL示例如下: GET /v1.0/{project_id}/jobs/{job_id}/preview?page-size={size}&queue-name={queue_name}
  • 响应消息 表3 响应参数 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 执行请求是否成功。“true”表示请求执行成功。 message 否 String 系统提示信息,执行成功时,信息可能为空。 job_id 否 String 作业ID。可通过提交SQL作业(推荐)获取。 job_type 否 String 作业类型,包含DDL、DCL、IMPORT、EXPORT、QUERY、INSERT、DATA_MIGRATION、UPDATE、DELETE、RESTART_QUEUE、SCALE_QUEUE。 目前仅支持查看“QUERY”类型作业的执行结果。 row_count 否 Integer 作业结果总条数。 input_size 否 long 作业执行过程中扫描的数据量。 schema 否 Array of Map 作业结果列名称和类型。 rows 否 Array of Objects 作业结果集。
  • 操作步骤 创建弹性资源池elastic_pool_dli 接口相关信息 URI格式:POST /v3/{project_id}/elastic-resource-pools {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建弹性资源池。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为elastic_pool_dli的弹性资源池。 示例URL:POST https://{endpoint}/v3/48cc2c48765f481480c7db940d6409d1/elastic-resource-pools {endpoint}信息请从地区和终端节点获取。 Body: { "elastic_resource_pool_name" : "elastic_pool_dli", "description" : "test", "cidr_in_vpc" : "172.16.0.0/14", "charging_mode" : "1", "max_cu" : 64, "min_cu" : 64 } 响应示例 { "is_success": true, "message": "" } 在弹性资源池中添加队列queue1 接口相关信息 URI格式:POST /v1.0/{project_id}/queues {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建队列。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为queue1的弹性资源池。 示例URL:POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/queues {endpoint}信息请从地区和终端节点获取。 Body: { "queue_name": "queue1", "queue_type": "sql", "description": "test", "cu_count": 16, "enterprise_project_id": "elastic_pool_dli" } 响应示例 { "is_success": true, "message": "" } 创建增强型跨源连接。 接口相关信息 URI格式:POST /v2.0/{project_id}/datasource/enhanced-connections {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建增强型跨源连接。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1下创建名称为test1的增强型跨源连接。 示例URL:POST https://{endpoint}/v2.0/48cc2c48765f481480c7db940d6409d1/datasource/enhanced-connections {endpoint}信息请从地区和终端节点获取。 Body: { "name": "test1", "dest_vpc_id": "22094d8f-c310-4621-913d-4c4d655d8495", "dest_network_id": "78f2562a-36e4-4b39-95b9-f5aab22e1281", "elastic_resource_pools": "elastic_pool_dli", "hosts": [ { "ip":"192.168.0.1", "name":"ecs-97f8-0001" }, { "ip":"192.168.0.2", "name":"ecs-97f8-0002" } ] } 响应示例 { "is_success": true, "message": "", "connection_id": "2a620c33-5609-40c9-affd-2b6453071b0f" } (可选)如果创建增强型跨源连接时,没有绑定队列,可使用绑定队列接口进行绑定。 确认增强型跨源连接创建成功。 接口相关信息 URI格式:GET /v2.0/{project_id}/datasource/enhanced-connections/{connection_id} {project_id}信息请从获取项目ID获取。 查询参数说明详情,请参见创建数据库(废弃)。 请求示例 描述:查询项目ID为48cc2c48765f481480c7db940d6409d1下连接ID为2a620c33-5609-40c9-affd-2b6453071b0f的增强型跨源连接。 示例URL:GET https://{endpoint}/v2.0/48cc2c48765f481480c7db940d6409d1/datasource/enhanced-connections/2a620c33-5609-40c9-affd-2b6453071b0f {endpoint}信息请从地区和终端节点获取。 Body: {} 响应示例 { "is_success": true, "message": "", "name": "test1", "id": "2a620c33-5609-40c9-affd-2b6453071b0f", "elastic_resource_pools": [ { "status": "ACTIVE", "name": "elastic_pool_dli", "peer_id": "2a620c33-5609-40c9-affd-2b6453071b0f", "err_msg": "", "update_time": 1566889577861 } ], "dest_vpc_id": "22094d8f-c310-4621-913d-4c4d655d8495", "dest_network_id": "78f2562a-36e4-4b39-95b9-f5aab22e1281", "isPrivis": true, "create_time": 1566888011125, "status": "ACTIVE", "hosts": [ { "ip":"192.168.0.1", "name":"ecs-97f8-0001" }, { "ip":"192.168.0.2", "name":"ecs-97f8-0002" } ] }
  • 操作步骤 创建弹性资源池elastic_pool_dli 接口相关信息 URI格式:POST /v3/{project_id}/elastic-resource-pools {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建弹性资源池。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为elastic_pool_dli的弹性资源池。 示例URL:POST https://{endpoint}/v3/48cc2c48765f481480c7db940d6409d1/elastic-resource-pools {endpoint}信息请从地区和终端节点获取。 Body: { "elastic_resource_pool_name" : "elastic_pool_dli", "description" : "test", "cidr_in_vpc" : "172.16.0.0/14", "charging_mode" : "1", "max_cu" : 64, "min_cu" : 64 } 响应示例 { "is_success": true, "message": "" } 在弹性资源池中添加队列queue1 接口相关信息 URI格式:POST /v1.0/{project_id}/queues {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建队列。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为queue1的弹性资源池。 示例URL:POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/queues {endpoint}信息请从地区和终端节点获取。 Body: { "queue_name": "queue1", "queue_type": "sql", "description": "test", "cu_count": 16, "enterprise_project_id": "elastic_pool_dli" } 响应示例 { "is_success": true, "message": "" } 上传Flink自定义作业资源包。具体请参考3 查询组内资源包。具体请参考4 创建Flink自定义作业。 接口相关信息 URI格式:POST /v1.0/{project_id}/streaming/flink-jobs {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建数据库(废弃)。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1项目下,创建Flink自定义作业。 示例URL:POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/streaming/flink-jobs {endpoint}信息请从地区和终端节点获取。 Body: { "name": "test", "desc": "job for test", "queue_name": "queue1", "manager_cu_number": 1, "cu_number": 2, "parallel_number": 1, "tm_cus": 1, "tm_slot_num": 1, "log_enabled": true, "obs_bucket": "bucketName", "smn_topic": "topic", "main_class": "org.apache.flink.examples.streaming.JavaQueueStream", "restart_when_exception": false, "entrypoint": "javaQueueStream.jar", "entrypoint_args":"-windowSize 2000 -rate3", "dependency_jars": [ "myGroup/test.jar", "myGroup/test1.jar" ], "dependency_files": [ "myGroup/test.csv", "myGroup/test1.csv" ] } 响应示例 { "is_success": true, "message": "新建flink作业成功", "job": { "job_id": 138, "status_name": "job_init", "status_desc": "" } } 批量运行作业。 接口相关信息 URI格式:POST /v1.0/{project_id}/streaming/jobs/run {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见批量运行作业。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1项目下,运行job_id为298765和298766的作业。 示例URL:POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/streaming/jobs/run {endpoint}信息请从地区和终端节点获取。 Body: { "job_ids": [131,130,138,137], "resume_savepoint": true } 响应示例 [ { "is_success": "true", "message": "作业提交请求下发成功" }, { "is_success": "true", "message": "作业提交请求下发成功" }, { "is_success": "true", "message": "作业提交请求下发成功" }, { "is_success": "true", "message": "作业提交请求下发成功" } ]
  • 操作步骤 创建弹性资源池elastic_pool_dli 接口相关信息 URI格式:POST /v3/{project_id}/elastic-resource-pools {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建弹性资源池。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为elastic_pool_dli的弹性资源池。 示例URL:POST https://{endpoint}/v3/48cc2c48765f481480c7db940d6409d1/elastic-resource-pools {endpoint}信息请从地区和终端节点获取。 Body: { "elastic_resource_pool_name" : "elastic_pool_dli", "description" : "test", "cidr_in_vpc" : "172.16.0.0/14", "charging_mode" : "1", "max_cu" : 64, "min_cu" : 64 } 响应示例 { "is_success": true, "message": "" } 在弹性资源池中添加队列queue1 接口相关信息 URI格式:POST /v1.0/{project_id}/queues {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建队列。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为queue1的弹性资源池。 示例URL:POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/queues {endpoint}信息请从地区和终端节点获取。 Body: { "queue_name": "queue1", "queue_type": "sql", "description": "test", "cu_count": 16, "enterprise_project_id": "elastic_pool_dli" } 响应示例 { "is_success": true, "message": "" } 上传分组资源。 接口相关信息 URI格式:POST /v2.0/{project_id}/resources {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见上传分组资源(废弃)。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下上传gatk分组中的资源。 示例URL:POST https://{endpoint}/v2.0/48cc2c48765f481480c7db940d6409d1/resources {endpoint}信息请从地区和终端节点获取。 Body: { "paths": [ "https://test.obs.xxx.com/txr_test/jars/spark-sdv-app.jar" ], "kind": "jar", "group": "gatk", "is_async":"true" } 响应示例 { "group_name": "gatk", "status": "READY", "resources": [ "spark-sdv-app.jar", "wordcount", "wordcount.py" ], "details": [ { "create_time": 0, "update_time": 0, "resource_type": "jar", "resource_name": "spark-sdv-app.jar", "status": "READY", "underlying_name": "987e208d-d46e-4475-a8c0-a62f0275750b_spark-sdv-app.jar" }, { "create_time": 0, "update_time": 0, "resource_type": "jar", "resource_name": "wordcount", "status": "READY", "underlying_name": "987e208d-d46e-4475-a8c0-a62f0275750b_wordcount" }, { "create_time": 0, "update_time": 0, "resource_type": "jar", "resource_name": "wordcount.py", "status": "READY", "underlying_name": "987e208d-d46e-4475-a8c0-a62f0275750b_wordcount.py" } ], "create_time": 1551334579654, "update_time": 1551345369070 } 查看组内资源包。 接口相关信息 URI格式:GET /v2.0/{project_id}/resources/{resource_name} {project_id}信息请从获取项目ID获取。 查询参数说明详情,请参见创建表(废弃)。 请求示例 描述:查询项目ID为48cc2c48765f481480c7db940d6409d1下gatk组中的名为luxor-router-1.1.1.jar的资源包。 示例URL:GET https://{endpoint}/v2.0/48cc2c48765f481480c7db940d6409d1/resources/luxor-router-1.1.1.jar?group=gatk {endpoint}信息请从地区和终端节点获取。 Body: {} 响应示例 { "create_time": 1522055409139, "update_time": 1522228350501, "resource_type": "jar", "resource_name": "luxor-router-1.1.1.jar", "status": "uploading", "underlying_name": "7885d26e-c532-40f3-a755-c82c442f19b8_luxor-router-1.1.1.jar", "owner": "****" } 创建并提交Spark批处理作业。 接口相关信息 URI格式:POST /v2.0/{project_id}/batches {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建批处理作业。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1项目下,在队列queue1中创建名称为TestDemo4的批处理作业。 示例URL:POST https://{endpoint}/v2.0/48cc2c48765f481480c7db940d6409d1/batches {endpoint}信息请从地区和终端节点获取。 Body: { "sc_type": "A", "jars": [ "spark-examples_2.11-2.1.0.luxor.jar" ], "driverMemory": "1G", "driverCores": 1, "executorMemory": "1G", "executorCores": 1, "numExecutors": 1, "queue": "queuel", "file": "spark-examples_2.11-2.1.0.luxor.jar", "className": "org.apache.spark.examples.SparkPi", "minRecoveryDelayTime": 10000, "maxRetryTimes": 20 } 响应示例 { "id": "07a3e4e6-9a28-4e92-8d3f-9c538621a166", "appId": "", "name": "", "owner": "test1", "proxyUser": "", "state": "starting", "kind": "", "log": [], "sc_type": "CUSTOMIZED", "cluster_name": "aaa", "queue": "queue1", "image": "", "create_time": 1607589874156, "update_time": 1607589874156 } 查询批处理作业状态。 接口相关信息 URI格式:GET /v2.0/{project_id}/batches/{batch_id}/state {project_id}信息请从获取项目ID获取。 查询参数说明详情,请参见查询批处理作业状态。 请求示例 描述:查询项目ID为48cc2c48765f481480c7db940d6409d1项目下的ID为0a324461-d9d9-45da-a52a-3b3c7a3d809e的批处理作业状态。 示例URL:GET https://{endpoint}/v2.0/48cc2c48765f481480c7db940d6409d1/batches/0a324461-d9d9-45da-a52a-3b3c7a3d809e/state {endpoint}信息请从地区和终端节点获取。 Body: {} 响应示例 { "id":"0a324461-d9d9-45da-a52a-3b3c7a3d809e", "state":"Success" } 查询批处理作业日志。 接口相关信息 URI格式:GET /v2.0/{project_id}/batches/{batch_id}/log {project_id}信息请从获取项目ID获取。 查询参数说明详情,请参见查询批处理作业日志(废弃)。 请求示例 描述:查询项目ID为48cc2c48765f481480c7db940d6409d1下的ID为0a324461-d9d9-45da-a52a-3b3c7a3d809e的批处理作业的后台日志。 示例URL:GET https://{endpoint}/v2.0/48cc2c48765f481480c7db940d6409d1/batches/0a324461-d9d9-45da-a52a-3b3c7a3d809e/log {endpoint}信息请从地区和终端节点获取。 Body: {} 响应示例 { "id": "0a324461-d9d9-45da-a52a-3b3c7a3d809e", "from": 0, "total": 3, "log": [ "具体的作业日志信息" ] }
  • 操作步骤 创建弹性资源池elastic_pool_dli 接口相关信息 URI格式:POST /v3/{project_id}/elastic-resource-pools {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建弹性资源池。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为elastic_pool_dli的弹性资源池。 示例URL:POST https://{endpoint}/v3/48cc2c48765f481480c7db940d6409d1/elastic-resource-pools {endpoint}信息请从地区和终端节点获取。 Body: { "elastic_resource_pool_name" : "elastic_pool_dli", "description" : "test", "cidr_in_vpc" : "172.16.0.0/14", "charging_mode" : "1", "max_cu" : 64, "min_cu" : 64 } 响应示例 { "is_success": true, "message": "" } 在弹性资源池中添加队列queue1 接口相关信息 URI格式:POST /v1.0/{project_id}/queues {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见创建队列。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下创建一个名称为queue1的弹性资源池。 示例URL:POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/queues {endpoint}信息请从地区和终端节点获取。 Body: { "queue_name": "queue1", "queue_type": "sql", "description": "test", "cu_count": 16, "enterprise_project_id": "elastic_pool_dli" } 响应示例 { "is_success": true, "message": "" } 提交SQL作业:提交SQL作业,创建数据库db1、表tb1、在表中插入数据,并查询数据 接口相关信息 URI格式:POST /v1.0/{project_id}/jobs/submit-job {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见提交SQL作业(推荐)。 请求示例 描述:在项目ID为48cc2c48765f481480c7db940d6409d1的项目下,提交SQL作业,创建数据库db1、表tb1、在表中插入数据,并查询数据。 示例URL:POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/jobs/submit-job {endpoint}信息请从地区和终端节点获取。 创建数据库db1 { "queue_name": "queue1", "sql": "create DATABASE db1" } 创建表tb1 { "currentdb": "db1", "queue_name": "queue1", "sql": "create table\n my_table (id int, name string)" } 在表tb1中插入数据 { "currentdb": "db1", "queue_name": "queue1", "sql": "insert into tb1 (id, name) values (1, 'Ann'), (2, 'Jane')" } 查询表数据 { "currentdb": "db1", "queue_name": "queue1", "sql": "select * from tb1 limit 10", } 响应示例 { "is_success": true, "message": "" }
  • 请求消息 表2 请求参数 参数名称 是否必选 参数类型 说明 roles 是 Array of Strings 角色。 目前只支持:obs_adm、dis_adm、ctable_adm、vpc_netadm、smn_adm、te_admin。 具体含义如下: obs_adm: DLI 获得访问和使用OBS的委托权限。 dis_adm:访问和使用DIS数据源,需要获得访问和使用DIS( 数据接入服务 )DIS Administrator权限。 ctable_adm:访问和使用CloudTable( 表格存储服务 )的CloudTable Administrator权限。 vpc_netadm:使用VPC(虚拟私有云)的VPC Administrator权限。 smn_adm:使用 SMN 消息通知 服务)的SMN Administrator权限。 te_admin:具有Tenant Administrator权限。
  • 请求示例 创建DLI用户委托,该委托包含以下权限:访问和使用CloudTable( 表格存储 服务)的CloudTable Administrator权限;使用VPC(虚拟私有云)的VPC Administrator权限;访问和使用DIS数据源(数据接入服务)的DIS Administrator权限;使用SMN(消息通知服务)的SMN Administrator权限;DLI获得访问和使用OBS的委托权限。 { "roles": [ "ctable_adm", "vpc_netadm", "dis_adm", "smn_adm", "obs_adm" ] }
  • 响应示例 { "is_success": true, "message": "", "version": "v2", "current_roles": [ "ctable_adm", "vpc_netadm", "ief_adm", "dis_adm", "smn_adm", "obs_adm" ] }
  • 响应消息 表2 响应参数 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 请求执行是否成功。“true”表示请求执行成功。 message 否 String 系统提示信息,执行成功时,信息可能为空。 version 否 String 委托版本信息。 current_roles 否 Array of Strings 角色。目前只支持: obs_adm:DLI获得访问和使用OBS的委托权限。 dis_adm:访问和使用DIS数据源,需要获得访问和使用DIS(数据接入服务)DIS Administrator权限。 ctable_adm:访问和使用CloudTable(表格存储服务)的CloudTable Administrator权限。 vpc_netadm:使用VPC(虚拟私有云)的VPC Administrator权限。 smn_adm:使用SMN(消息通知服务)的SMN Administrator权限。 te_admin:具有Tenant Administrator权限。
  • 响应示例 { "is_success": true, "message": "", "job_id": "85798b38-ae44-48eb-bb90-7cf0dcdafe7b", "status": "RUNNING", "sub_job_id": 0, "progress": 0, "sub_jobs": [ { "id": 0, "name": "runJob at FileFormatWriter.scala:266", "submission_time": "Mon Jul 27 17:24:03 CS T 2020", "stage_ids": [ 0 ], "job_group": "85798b38-ae44-48eb-bb90-7cf0dcdafe7b", "status": "RUNNING", "num_tasks": 1, "num_active_tasks": 1, "num_completed_tasks": 0, "num_skipped_tasks": 0, "num_failed_tasks": 0, "num_killed_tasks": 0, "num_completed_indices": 0, "num_active_stages": 1, "num_completed_stages": 0, "num_skipped_stages": 0, "num_failed_stages": 0 } ] }
  • 请求示例 修改名称为plan_A的扩缩容计划,修改后队列在周四和周五的19:30扩扩缩容至64CUs,且暂不激活该扩缩容计划。 { "plan_name": "plan_A", "target_cu": 64, "start_hour": 19, "start_minute": 30, "repeat_day": ["THURSDAY","FRIDAY"], "activate": false }
  • 请求消息 表2 请求参数 参数名称 是否必选 参数类型 说明 plan_name 是 String 队列扩缩容计划名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 target_cu 是 Integer 队列扩缩容计划CU的目标值。 start_hour 是 Integer 队列扩缩容计划起始小时时间。 start_minute 是 Integer 队列扩缩容计划的起始分钟时间。 repeat_day 是 Array of strings 定时扩缩容计划的重复周期,可以选择周一到周日的某一天、某几天、或者不选择。如果不选择,则会在当前时间后的start_hour:start_minute时间点执行扩缩容计划。例如: "repeat_day": ["MONDAY", "TUESDAY", "WEDNESDAY","SUNDAY"] valid_date_begin 否 Long 有效期开始时间(13位时间戳)。 valid_date_end 否 Long 有效期结束时间(13位时间戳)。 activate 否 Boolean 当前设置的扩缩容计划是否激活,默认为“true”,表示激活。
  • 响应消息 表3 响应参数 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 请求执行是否成功。“true”表示请求执行成功。 message 否 String 系统提示信息,执行成功时,信息可能为空。 queue_name 否 String 待修改定时扩缩计划的队列名称。名称长度为1~128个字符,多个队列名称使用逗号“,”分隔。 plan_id 否 Integer 待修改的队列扩缩容计划的ID。多个ID使用逗号“,”分隔。
  • URI URI格式: PUT /v1/{project_id}/queues/{queue_name}/plans/{plan_id} 参数说明 表1 URI参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 queue_name 是 String 待修改定时扩缩计划的队列名称。名称长度为1~128个字符,多个队列名称使用逗号“,”分隔。 plan_id 是 String 待修改的队列扩缩容计划的ID。多个ID使用逗号“,”分隔。具体获取请参考查看队列定时扩缩容计划(废弃)
  • URI URI格式: DELETE /v1/{project_id}/queues/{queue_name}/plans/{plan_id} 参数说明 表1 URI参数 名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 queue_name 是 String 待删除定时扩缩计划的队列名称。名称长度为1~128个字符,多个队列名称使用逗号“,”分隔。 plan_id 是 Long 待删除的队列扩缩容计划的ID。具体获取请参考查看队列定时扩缩容计划(废弃)。
  • URI URI格式: POST /v1/{project_id}/queues/{queue_name}/plans/batch-delete 参数说明 表1 URI参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 queue_name 是 String 待删除定时扩缩计划的队列名称。名称长度为1~128个字符,多个队列名称使用逗号“,”分隔。
  • URI URI格式: GET /v1/{project_id}/queues/{queue_name}/plans 参数说明 表1 URI参数 名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 queue_name 是 String 待删除定时扩缩计划的队列名称。名称长度为1~128个字符,多个队列名称使用逗号“,”分隔。
  • 响应消息 表2 响应参数 参数 是否必选 参数类型 说明 is_success 否 Boolean 请求执行是否成功。“true”表示请求执行成功。 message 否 String 系统提示信息,执行成功时,信息可能为空。 plans 否 Array of Objects 定时扩缩容计划信息。具体请参考表3。 表3 plans参数 参数名称 是否必选 参数类型 说明 id 否 Long 扩缩容计划的ID编号。 plan_name 否 String 队列扩缩容计划名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 target_cu 否 Integer 队列扩缩容计划CU的目标值。 start_hour 否 Integer 队列扩缩容计划起始小时时间(24小时制)。 start_minute 否 Integer 队列扩缩容计划的起始分钟时间。 repeat_day 是 Array of strings 定时扩缩容计划的重复周期,可以选择周一到周日的某一天、某几天、或者不选择。如果不选择,则会在当前时间后的start_hour:start_minute时间点执行扩缩容计划。例如: "repeat_day": ["MONDAY", "TUESDAY", "WEDNESDAY","SUNDAY"] valid_date_begin 否 Long 有效期开始时间(13位时间戳)。 valid_date_end 否 Long 有效期结束时间(13位时间戳)。 activate 否 Boolean 当前设置的扩缩容计划是否激活,默认为“true”,表示激活。 last_execute_time 否 Long 当前扩缩容计划最近一次执行的时间。
  • 响应示例 { "is_success": true, "message": "", "plans": [ { "id": 1, "plan_name": "plan_Aa", "target_cu": 32, "start_hour": 11, "start_minute": 15, "repeat_day": [ "MONDAY", "TUESDAY", "WEDNESDAY", "SUNDAY" ], "activate": true, "last_execute_time": 1593573428857 }, { "id": 6, "plan_name": "plan_Ab", "target_cu": 16, "start_hour": 14, "start_minute": 25, "repeat_day": [ "MONDAY", "TUESDAY", "WEDNESDAY", "SUNDAY", "THURSDAY", "FRIDAY", "SATURDAY" ], "activate": true, "last_execute_time": 1593584829260 } ] }
  • 请求消息 表2 请求参数 参数名称 是否必选 参数类型 说明 plan_name 是 String 队列扩缩容计划名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 target_cu 是 Integer 队列扩缩容计划CU的目标值。 start_hour 是 Integer 队列扩缩容计划起始小时时间。 start_minute 是 Integer 队列扩缩容计划的起始分钟时间。 repeat_day 是 Array of strings 定时扩缩容计划的重复周期,可以选择周一到周日的某一天、某几天、或者不选择。如果不选择,则会在当前时间后的start_hour:start_minute时间点执行扩缩容计划。例如: "repeat_day": ["MONDAY", "TUESDAY", "WEDNESDAY","SUNDAY"] valid_date_begin 否 Long 有效期开始时间(13位时间戳)。 valid_date_end 否 Long 有效期结束时间(13位时间戳)。 activate 否 Boolean 当前设置的扩缩容计划是否激活,默认为“true”,表示激活。
  • URI URI格式: POST /v1/{project_id}/queues/{queue_name}/plans 参数说明 表1 URI参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 queue_name 是 String 需要设置定时扩缩计划的队列名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。名称长度为1~128个字符。
共100000条