Updated on 2024-02-21 GMT+08:00

Creating a Catalog

Function

Create the default database in the new catalog.

URI

POST /v1/{project_id}/instances/{instance_id}/catalogs

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For how to obtain the project ID, see Obtaining a Project ID (lakeformation_04_0026.xml).

instance_id

Yes

String

LakeFormation instance ID. The value is automatically generated when the instance is created, for example, 2180518f-42b8-4947-b20b-adfc53981a25.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

Array of strings

Tenant token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

catalog_name

Yes

String

Catalog name. The value should contain 1 to 256 characters. Only letters, numbers, and underscores (_) are allowed.

description

No

String

Description. Enter a maximum of 4,000 characters.

location

No

String

Path, for example, obs://location/uri/.

database_location_list

No

Array of strings

List of database paths. A maximum of 1,000 paths can be displayed on the page.

branch_name

No

String

Branch name. The value should contain 1 to 32 characters. Only letters, numbers, and underscores (_) are allowed. The default value is main.

owner

No

String

Catalog owner. The value can contain a maximum of 128 characters. Only letters, numbers, and underscores (_) are allowed.

owner_type

No

String

Owner type. The options are USER (user), GROUP (group), and ROLE (role).

Enumeration values:

  • USER
  • ROLE
  • GROUP

owner_source

No

String

Owner source. The options are IAM (cloud user), SAML (SAML-based federation), LDAP (lD user), LOCAL (local user), AGENTTENANT (agency), and OTHER (others).

Enumeration values:

  • IAM
  • SAML
  • LDAP
  • LOCAL
  • AGENTTENANT
  • OTHER

type

No

String

Catalog type. The values are DEFAULT (default metadata type) or CLICKHOUSE (ClickHouse type). If this parameter is not specified, the default value DEFAULT is used. This parameter is specified during creation and cannot be modified.

Enumeration values:

  • DEFAULT
  • CLICKHOUSE

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

catalog_name

String

Catalog name.

catalog_id

String

catalogID.

description

String

Description.

location

String

Path, for example, obs://location/uri/.

database_location_list

Array of strings

List of database paths. Value null indicates that the response body does not contain this parameter.

owner

String

Catalog owner. The LakeFormation service is divided into phase 1 and phase 2. The response body of phase 1 does not contain this parameter.

owner_type

String

Owner type. The options are USER (user), GROUP (group), and ROLE (role). The LakeFormation service is divided into phase 1 and phase 2. The response body of phase 1 does not contain this parameter.

Enumeration values:

  • USER
  • ROLE
  • GROUP

owner_source

String

Owner source. The options are IAM (cloud user), SAML (SAML-based federation), LDAP (lD user), LOCAL (local user), AGENTTENANT (agency), and OTHER (others). The LakeFormation service is divided into phase 1 and phase 2. The response body of phase 1 does not contain this parameter.

Enumeration values:

  • IAM
  • SAML
  • LDAP
  • LOCAL
  • AGENTTENANT
  • OTHER

type

String

Catalog type. The values are DEFAULT (default metadata type) or CLICKHOUSE (ClickHouse type). If this parameter is not specified, the default value DEFAULT is used. This parameter is specified during creation and cannot be modified.

Enumeration values:

  • DEFAULT
  • CLICKHOUSE

update_time

String

Catalog metadata last modification time.

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

solution_msg

String

Solution.

Status code: 404

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

solution_msg

String

Solution.

Status code: 500

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

solution_msg

String

Solution.

Example Requests

POST https://{endpoint}/v1/{project_id}/instances/{instance_id}/catalogs

{
  "catalog_name" : "hive",
  "description" : "Default catalog, for Hive",
  "location" : "obs://lakeformation/test",
  "database_location_list" : null,
  "owner" : "admin",
  "owner_type" : "USER",
  "owner_source" : "IAM"
}

Example Responses

Status code: 201

Created

{
  "catalog_name" : "hive",
  "description" : "Default catalog, for Hive",
  "location" : "obs://lakeformation/test",
  "database_location_list" : null,
  "owner" : "admin",
  "owner_type" : "USER",
  "owner_source" : "IAM"
}

Status code: 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"
}

Status code: 401

Unauthorized

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

Status code: 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"
}

Status code: 404

Not Found

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

Status code: 408

Request Timeout

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

Status code: 500

Internal Server Error

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

Status Codes

Status Code

Description

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

408

Request Timeout

500

Internal Server Error

Error Codes

See Error Codes.