更新时间:2024-10-22 GMT+08:00
分享

创建函数

功能介绍

创建函数。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/instances/{instance_id}/catalogs/{catalog_name}/databases/{database_name}/functions

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目编号。获取方法,请参见获取项目ID

instance_id

String

LakeFormation实例ID。创建实例时自动生成。例如:2180518f-42b8-4947-b20b-adfc53981a25。

catalog_name

String

catalog名称。只能包含字母、数字和下划线,且长度为1~256个字符。

database_name

String

数据库名称。只能包含中文、字母、数字、下划线、中划线,且长度为1~128个字符。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

Array of strings

租户token。

表3 请求Body参数

参数

是否必选

参数类型

描述

function_name

String

函数名称。只能包含字母、数字和下划线,且长度为1~256个字符。

function_type

String

函数类型,JAVA,remoteUDF。

枚举值:

  • JAVA

  • remoteUDF

owner

String

函数所有者。只能包含字母、数字和下划线,且长度为1~256个字符。

owner_type

String

所有者类型:USER-用户、GROUP-组、ROLE-角色。

枚举值:

  • USER

  • GROUP

  • ROLE

owner_auth_source_type

String

所有者授权来源类型:IAM-云、SAML-联邦、LDAP-ld用户、LOCAL-本地、AGENTTENANT-委托、OTHER-其它。

枚举值:

  • IAM

  • SAML

  • LDAP

  • LOCAL

  • AGENTTENANT

  • OTHER

class_name

String

函数类名。长度为1~4000个字符。仅remoteUDF类型的函数不要求输入函数类名。

create_time

String

创建时间格式为yyyy-mm-ddThh:mm:sss。

resource_uris

Array of FunctionResourceUri objects

函数地址信息。

表4 FunctionResourceUri

参数

是否必选

参数类型

描述

type

String

函数包类型:JAR,FILE,ARCHIVE,URI。

枚举值:

  • JAR

  • FILE

  • ARCHIVE

  • URI

uri

String

函数包地址信息。

响应参数

状态码: 201

表5 响应Body参数

参数

参数类型

描述

catalog_name

String

catalog名称。

catalog_id

String

catalogID。

database_name

String

数据库名称。

database_id

String

数据库ID。

function_name

String

函数名称。只能包含字母、数字和下划线,且长度为1~256个字符。

function_type

String

函数类型,JAVA,remoteUDF。

枚举值:

  • JAVA

  • remoteUDF

function_id

String

函数ID。

owner

String

函数所有者。只能包含字母、数字和下划线,且长度为1~256个字符。

owner_type

String

所有者类型:USER-用户、GROUP-组、ROLE-角色。

枚举值:

  • USER

  • GROUP

  • ROLE

owner_auth_source_type

String

所有者授权来源类型:IAM-云用户、SAML-联邦、LDAP-ld用户、LOCAL-本地用户、AGENTTENANT-委托、OTHER-其它。LakeFormation服务分为一期和二期,一期响应Body无该参数。

枚举值:

  • IAM

  • SAML

  • LDAP

  • LOCAL

  • AGENTTENANT

  • OTHER

class_name

String

函数类名。

create_time

String

创建时间格式为yyyy-mm-ddThh:mm:sss。

update_time

String

函数元数据最后一次修改时间。

resource_uris

Array of FunctionResourceUri objects

函数地址信息。

version_id

String

版本ID

表6 FunctionResourceUri

参数

参数类型

描述

type

String

函数包类型:JAR,FILE,ARCHIVE,URI。

枚举值:

  • JAR

  • FILE

  • ARCHIVE

  • URI

uri

String

函数包地址信息。

状态码: 400

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 404

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 500

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

请求示例

POST https://{endpoint} /v1/{project_id}/instances/{instance_id}/catalogs/{catalog_name}/databases/{database_name}/functions

{
  "function_name" : "1456",
  "function_type" : "JAVA",
  "owner" : "owner_2",
  "owner_type" : "USER",
  "owner_auth_source_type" : "IAM",
  "class_name" : "34",
  "create_time" : "2022-12-09T01:50:56.000+00:00",
  "resource_uris" : [ {
    "type" : "JAR",
    "uri" : "obs://lakeformation-test/"
  }, {
    "type" : "FILE",
    "uri" : "obs://lakeformation-test/test3/"
  } ]
}

响应示例

状态码: 201

Created

{
  "function_name" : "1456",
  "function_type" : "JAVA",
  "owner" : "owner_2",
  "owner_type" : "USER",
  "owner_auth_source_type" : "IAM",
  "class_name" : "34",
  "create_time" : "2022-12-09T01:50:56.000+00:00",
  "resource_uris" : [ {
    "type" : "JAR",
    "uri" : "obs://lakeformation-test/"
  }, {
    "type" : "FILE",
    "uri" : "obs://lakeformation-test/test3/"
  } ]
}

状态码: 400

Bad Request

{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}

状态码: 401

Unauthorized

{
  "error_code": 'APIG.1002',
  "error_msg": 'Incorrect token or token resolution failed'
}

状态码: 403

Forbidden

{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "error_code" : null,
    "error_msg" : null,
    "title" : "Forbidden"
  },
  "error_code" : "403",
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}

状态码: 404

Not Found

{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}

状态码: 408

Request Timeout

{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}

状态码: 500

Internal Server Error

{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}

状态码

状态码

描述

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

408

Request Timeout

500

Internal Server Error

错误码

请参见错误码

相关文档