华为云用户手册

  • URI URI格式: GET /v2.0/{project_id}/batches 参数说明 表1 URI参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 表2 query参数说明 参数名称 是否必选 参数类型 说明 job_name 否 String 批处理作业的名称。 job-id 否 String 根据作业ID查询批作业。 cluster_name 否 String DLI 队列名称,不填写则获取当前Project下所有批处理作业(不推荐使用)。 queue_name 否 String DLI队列名称,根据队列查询批作业(推荐使用)。 from 否 Integer 起始批处理作业的索引号,默认从0开始。 size 否 Integer 查询批处理作业的数量。 state 否 String 根据作业状态查询批作业。 owner 否 String 提交作业的用户。
  • 示例 请求样例: None 成功响应样例: { "clusters": [ { "create_time": 1508143955000, "cu_count": 16, "description": "test", "owner": "tenant1", "cluster_name": "cluster1", "status": "AVAILABLE", "resource_mode": 0 } ] } 调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码。
  • 响应消息 返回码 成功返回200。 响应参数 表2 响应参数说明 参数 是否必选 参数类型 说明 create_time 是 Long 创建集群的时间。 description 否 String 集群的描述信息。 cu_count 是 Integer 与集群绑定的计算单元个数。 owner 是 String 创建集群的用户。 cluster_name 是 String 集群名称。 status 是 String 具体集群状态信息可参见表3。 resource_mode 是 Integer 集群类型。 0:共享集群 1:专属集群
  • 示例 请求样例: None 成功响应样例: { "create_time": 1508143955000, "cu_count": 16, "description": "test", "owner": "tenant1", "cluster_name": "cluster1", "status": "AVAILABLE", "resource_mode": 0 } 调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码。
  • 响应消息 返回码 成功返回200。 响应参数 响应参数如表2所示。 表2 响应参数说明 参数 是否必选 参数类型 说明 create_time 是 Long 创建集群的时间。是单位为“毫秒”的时间戳。 description 否 String 集群的描述信息。 cu_count 是 Integer 与集群绑定的计算单元个数。 owner 是 String 创建集群的用户。 cluster_name 是 String 集群名称。 status 是 String 具体集群状态信息可参见表3。 resource_mode 是 Integer 集群类型。 0:共享集群 1:专属集群 表3 集群状态说明 名称 说明 CREATING 集群正在创建中,当前不可用。 AVAILABLE 集群可用。 SUSPENDED 由于长时间未使用,集群当前处于挂起状态,可通过创建批处理作业接口,重新激活集群。 RECOVERING 集群处于挂起恢复状态,当状态变为AVAILABLE时可再次使用。
  • 请求消息 创建集群除公共请求消息头参数以外,还有特殊的请求消息头参数,具体如表2所示。 表2 Header说明 名称 是否必选 说明 X-Auth-Token 是 从 IAM 服务获取的用户Token。 Accept 是 默认值application/json。 Content-Type 是 指定类型为application/json。 charset 是 指定编码格式为utf8。 请求参数如表3所示。 表3 请求参数说明 参数 是否必选 参数类型 说明 cluster_name 是 String 新建的集群名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 description 否 String 集群的描述信息。 cu_count 是 Integer 与集群绑定的计算单元个数, 同时是计费的单元。可选择16CU,64CU和256CU三种规格,如果需要更大配额,请联系DLI服务管理员。 cidr_in_vpc 否 String vpc的网段。 cidr_in_mgntsubnet 否 String 管理子网的网段。 cidr_in_subnet 否 String 特殊子网网段。
  • 响应示例 同步请求成功响应样例: { "is_success": true, "message": "", "schema": [ { "id": "int" }, { "name": "string" }, { "address": "string" } ], "rows": [ [ "1", "John", "xxx" ], [ "2", "Lily", "xxx" ] ] } 如果为异步请求模式,则返回一个job ID,用户可再根据job ID获取预览信息。
  • URI URI格式: GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/preview 参数说明 表1 URI 参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 database_name 是 String 待预览的表所在的数据库名称。 table_name 是 String 待预览的表名称。 表2 query参数 参数名称 是否必选 参数类型 说明 mode 否 String 预览表的模式,取值为““SYNC””或者““ASYNC””默认值为:“SYNC”。 带入query参数的URL示例如下: GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/preview?mode={previewMode}
  • 响应示例 { "is_success": true, "message": "", "table_count": 1, "tables": [ { "create_time":1517364268000, "data_location":"OBS", "data_type":"csv", "last_access_time":1517364268000, "location":"obs://DLI/sqldata/data.txt", "owner":"test", "partition_columns": ["a0"], "table_name":"obs_t", "table_size":0, "table_type":"EXTERNAL" } ] }
  • URI URI格式: GET /v1.0/{project_id}/databases/{database_name}/tables 参数说明 表1 URI 参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 database_name 是 String 查看表所在的数据库名称。 表2 query参数 参数名称 是否必选 参数类型 说明 keyword 否 String 过滤表名称的关键词。 with-detail 否 Boolean 是否获取表的详细信息(所有者,size等)。默认值为“false”。 page-size 否 Integer 分页大小,最小为1,最大为100。 current-page 否 Integer 当前页码,最小为1。 with-priv 否 Boolean 是否返回权限信息。 table-type 否 String 数据库表类型。包含以下类型: DLI表: MANAGED_TABLE OBS表 : EXTERNAL_TABLE 视图:VIRTUAL_VIEW datasource-type 否 String 数据源类型。包括如下类型: CloudTable CSS DLI DWS Geomesa HBase JDBC Mongo OBS ODPS OpenTSDB Redis RDS without-tablemeta 否 Boolean 是否获取表的元数据。默认值为“false”。该参数为“true”时,可以大大提高响应速度。 带入query参数的URL示例如下: GET /v1.0/{project_id}/databases/{database_name}/tables?keyword=tb&with-detail=true
  • 响应消息 表3 响应参数 参数名称 是否必选 参数类型 说明 is_success 是 Boolean 执行请求是否成功。“true”表示请求执行成功。 message 是 String 系统提示信息,执行成功时,信息可能为空。 table_count 是 Integer 表的总个数。 tables 是 Array of Objects 表的信息。具体参数请参见表4。 表4 tables参数 参数名称 是否必选 参数类型 说明 create_time 是 Long 表创建时间。是单位为“毫秒”的时间戳。 data_type 否 String 所列OBS表数据的类型,目前支持:parquet、ORC、 CS V、JSON、Avro格式。 说明: 只有OBS表有该参数。 data_location 是 String 数据存储位置,分为DLI和OBS。 last_access_time 是 Long 最近更新时间。是单位为“毫秒”的时间戳。 location 否 String OBS表的存储路径。 说明: 只有OBS表有该参数。 owner 是 String 表创建者。 table_name 是 String 表名称。 table_size 是 Long DLI表的大小。非DLI表该参数值为0。单位为“Byte”。 table_type 是 String 表类型。 OBS表为EXTERNAL DLI表为MANAGED View为VIEW partition_columns 否 Array of Strings 分区字段。只有OBS分区表有该参数,其他表没有该参数。 page-size 否 Integer 分页大小,最小为1,最大为100。 current-page 否 Integer 当前页码,最小为1。 若URI中的过滤条件“with-detail=false”,则tables相关参数中只返回“data_location”,“table_name”,“table_type”三个参数。
  • 示例 请求样例: None 成功响应样例: { "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" ] ] } 调用API出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码。
  • 响应消息 表2 响应参数 参数 是否必选 参数类型 说明 is_success 否 Boolean 执行请求是否成功。“true”表示请求执行成功。 message 否 String 系统提示信息,执行成功时,信息可能为空。 job_id 否 String 作业ID。 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 作业结果集。
  • URI URI格式: GET/v1.0/{project_id}/jobs/{job_id}?page-size={size}¤t-page={page_number}&queue-name={queue_name} 参数说明 表1 URI 参数 名称 是否必选 说明 project_id 是 项目编号,用于资源隔离。获取方式请参考获取项目ID。 job_id 是 作业ID。 page-size 否 每页显示的最大结果行数,范围: [1, 100]。默认值为:50。 current-page 否 当前页码,默认为第一页。 queue-name 否 指定获取作业结果的执行队列名称。若不指定则使用默认的系统队列
  • 概述 欢迎使用 数据湖探索 数据湖 探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark、Apache Flink、trino生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务。用户不需要管理任何服务器,即开即用。支持标准SQL/Spark SQL/Flink SQL,支持多种接入方式,并兼容主流数据格式。数据无需复杂的抽取、转换、加载,使用SQL或程序就可以对云上CloudTable、RDS、DWS、CSS、OBS、ECS自建数据库以及线下数据库的异构数据进行探索。 您可以使用本文档提供API对数据湖探索进行相关操作,包括队列、SQL作业、Flink作业、Spark作业和跨源连接等等。支持的全部操作请参见API概览。 在调用数据湖探索API之前,请确保已经充分了解数据湖探索相关概念。详细信息请参见产品介绍。 父主题: API使用前必读
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 表2 错误码 状态码 错误码 错误信息 400 DLI.0001 参数校验错误。 400 DLI.0002 对象不存在。 400 DLI.0003 SQL权限校验未通过。 400 DLI.0004 SQL语法解析错误。 400 DLI.0005 SQL语义解析错误。 400 DLI.0006 对象已存在错误。 400 DLI.0007 不支持该操作。 400 DLI.0008 元数据错误。 400 DLI.0009 系统限制。 400 DLI.0011 文件权限校验错误。 400 DLI.0012 资源对象不可用。 401 DLI.0013 用户认证错误。 401 DLI.0014 服务认证错误。 400 DLI.0015 Token解析错误。 400 DLI.0016 身份角色错误。 400 DLI.0018 数据转换错误。 400 DLI.0019 任务超时。 400 DLI.0100 结果过期。 404 DLI.0023 找不到对应资源。 400 DLI.0999 服务端系统错误。 400 DLI.1028 配额不足。
  • 错误响应Body体格式说明 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "DLI.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。 表1 异常响应说明 名称 参数类型 说明 error_code String 错误码,请参见表2。 error_msg String 错误详细信息。
  • 示例 请求样例: { "job_id":"6b29eb77-4c16-4e74-838a-2cf7959e9203" } 成功响应样例: { "is_success":"true", "message": "check upload id success", "mask":[ "mask_str_01", "mask_str_02" ] } 调用API出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码。
  • 响应消息 表2 响应参数 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 执行请求是否成功。“true”表示请求执行成功。示例值:true. message 否 String 系统提示信息,执行成功时,信息可能为空。示例值:空。 user_name 否 String 被查询的用户名称。 privileges 否 Array Of objects 权限信息。具体参数请参见表3。 表3 privileges参数 参数名称 是否必选 参数类型 说明 object 否 String 该用户有权限的对象: “databases.数据库名.tables.表名”,用户在当前表上的权限。 “databases.数据库名.tables.表名.columns.列名”,用户在列上的权限。 示例值:databases.dsstest.tables.obs_231。 privileges 否 Array of Strings 用户在指定对象上的权限。示例值:["DESCRIBE_TABLE" ]。 表相关的权限说明请参考权限管理。
  • URI URI格式: GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/users/{user_name} 参数说明 表1 URI 参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 database_name 是 String 被查询的表所在的数据库名称。 table_name 是 String 被查询的表名称。 user_name 是 String 被查询的用户名称。
  • 响应示例 { "is_success": true, "message": "", "privileges": [ { "object": "databases.dsstest.tables.obs_2312", "privileges": [ "DESCRIBE_TABLE" ] }, { "object": "databases.dsstest.tables.obs_2312.columns.id", "privileges": [ "SELECT" ] } ], "user_name": "scuser1" }
  • 响应示例 { "is_success": true, "message": "", "privileges": [ { "is_admin": false, "object": "databases.dsstest.tables.csv_par_table", "privileges": [ "SELECT" ], "user_name": "tent2" }, { "is_admin": true, "object": "databases.dsstest.tables.csv_par_table", "privileges": [ "ALL" ], "user_name": "tent4" } ] } 调用API出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码。
  • URI URI格式: GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/users 参数说明 表1 URI 参数 参数名称 是否必选 说明 project_id 是 项目编号,用于资源隔离。获取方式请参考获取项目ID。 database_name 是 被查询的表所在的数据库名称。 table_name 是 被查询的表名称。
  • 响应示例 { "is_success": true, "message": "", "database_name": "dsstest", "privileges": [ { "is_admin": true, "privileges": [ "ALL" ], "user_name": "test" }, { "is_admin": false, "privileges": [ "ALTER_TABLE_ADD_PARTITION" ], "user_name": "scuser1" }, { "is_admin": false, "privileges": [ "CREATE_TABLE" ], "user_name": "scuser2" } ] } 调用API出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码。
  • 响应消息 表2 响应参数 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 执行请求是否成功。“true”表示请求执行成功。示例值:true。 message 否 String 系统提示信息,执行成功时,信息可能为空。示例值:空。 database_name 否 String 被查询的数据库名称。示例值:dsstest。 privileges 否 Array of objects 权限信息。具体参数请参考表3。 表3 privileges参数 参数名称 是否必选 参数类型 说明 is_admin 否 Boolean 判断用户是否为管理员。示例值:true。 user_name 否 String 用户名称,即该用户在当前数据库上有权限。示例值:test。 privileges 否 Array of Strings 该用户在数据库上的权限。具体权限信息可以参考数据权限列表。示例值: ["ALTER_TABLE_ADD_PARTITION"]。
  • 请求消息 表2 请求参数 参数名称 是否必选 参数类型 说明 user_name 是 String 被赋权的用户名称,该用户将有权访问指定的数据库或数据表,被收回或者更新访问权限。示例值:user2。 action 是 String 指定赋权或回收。值为:grant,revoke或update。示例值:grant。 grant:赋权。 revoke:回收权限。 update:清空原来的所有权限,赋予本次提供的权限数组中的权限。 说明: 当用户同时拥有grant和revoke权限的时候才有权限使用update操作。 privileges 是 Array of Objects 赋权信息。具体参数请参考表3。示例值: [ {"object": "databases.db1.tables.tb2.columns.column1","privileges": ["SELECT"]},"object": "databases.db1.tables.tbl","privileges": [ "DROP_TABLE"] 表3 privileges参数 参数名称 是否必选 参数类型 说明 object 是 String 被赋权的数据对象,命名方式为: “databases.数据库名”,数据库下面的所有数据都将被共享。 “databases.数据库名.tables.表名”,指定的表的数据将被共享。 “databases.数据库名.tables.表名.columns.列名”,指定的列将被共享。 “jobs.flink.flink作业ID”,指定的作业将被共享。 “groups.程序包组名”,指定的程序包组将被共享。 “resources.程序包名”,指定程序包将被共享。 示例值:databases.db1.tables.tb2.columns.column1。 privileges 是 Array of Strings 待赋权,回收或更新的权限列表。具体支持的权限列表详细可以参考数据权限列表。示例值:["SELECT"]。 说明: 若“action”为“update”,更新列表为空,则表示回收用户在该数据库或表的所有权限。
  • 请求示例 赋予用户user2数据库db1的查询权限、数据表db1.tbl的删除权限、数据表指定列db1.tbl.column1的查询权限 { "user_name": "user2", "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" ] } ] }
  • URI URI格式: GET /v1.0/{project_id}/queues/{queue_name}/users 参数说明 表1 URI 参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 queue_name 是 String 队列名称。 表2 query参数 参数名称 是否必选 参数类型 说明 limit 是 Integer 分页查询数量。 offset 是 Integer 分页查询偏移量。
  • 响应示例 { "is_success": true, "message": "", "count": 2, "privileges": [ { "is_admin": true, "privileges": [ "ALL" ], "user_name": "tenant1" }, { "is_admin": false, "privileges": [ "SUBMIT_JOB" ], "user_name": "user2" } ], "queue_name": "queue1" }
  • 响应消息 表3 响应参数 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 执行请求是否成功。“true”表示请求执行成功。示例值:true。 message 否 String 系统提示信息,执行成功时,信息可能为空。示例值:空。 queue_name 否 String 队列名称。示例值:queue1。 privileges 否 Array of Object 有权限使用该队列的用户及其对应的权限数组。 具体参数请参考表4。 count 否 Long 用户的总个数。 表4 privileges参数 参数名称 是否必选 参数类型 说明 is_admin 否 Boolean 判断用户是否为管理员。示例值:false。 user_name 否 String 用户名称,即该用户在当前队列上有权限。示例值:user2。 privileges 否 Array of Strings 该用户在队列上的权限。示例值:["SUBMIT_JOB"]。
共100000条