全部產品
Search
文件中心

OpenLake:中繼資料API使用

更新時間:Jan 31, 2026

中繼資料管理API提供對資料庫、表、分區和視圖等中繼資料對象的統一操作與管理能力,支援使用者高效地建立、查詢、更新和刪除中繼資料,滿足多樣化的資料管理需求。

授權資訊

RAM存取控制

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:詳見具體API

詳見具體API

*全部資源

*

說明

RAM存取控制更新通常需要1分鐘左右生效。

ACL許可權管理

詳情請參考資料授權管理

資料庫API

ListDatabases - 擷取資料庫列表

擷取資料目錄中資料庫列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListDatabases

list

*全部資源

*

傳回值

名稱

類型

描述

樣本值

  • databases

array

資料目錄的資料庫名稱數組。無法保證數組元素順序。

[test_db1, test_db2]

database

string

資料庫名稱。

test_db1

樣本

List<String> databases = restApi.listDatabases();

ListDatabasesPaged - 分頁擷取資料庫列表

分頁查詢資料目錄中資料庫列表,可以根據資料庫名稱匹配。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListDatabases

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

maxResults

integer

一次返回的個數, 如果未提供,如果未設定,則設定為伺服器配置的值。當設定為大於 0 的值時,則取此值和伺服器配置值中的最小值。

10

pageToken

string

分頁的開始位置,第一次填寫null,後續的填寫上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken 為空白字串,那麼說明無資料了。

db_test

databaseNamePattern

string

資料庫名稱的sql LIKE右模糊模式(%)。如果未設定或為空白,將返回所有資料庫

db_test%

傳回值

名稱

類型

描述

樣本值

-

object

返回資料。

  • elements

array

資料目錄的資料庫名稱數組。無法保證數組元素順序。

[test_db1, test_db2]

database

string

資料庫名稱。

test_db1

nextPageToken

string

下一次分頁查詢的起始位置。

test_db1

樣本

  • 擷取全部資料庫列表

    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listDatabasesPaged(10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根據資料庫名稱匹配分頁擷取資料庫列表

    PagedList<String> pagedDatabases = restApi.listDatabasesPaged(10, null, "test_db%");

CreateDatabase - 新增資料庫

在資料目錄中建立一個新的中繼資料庫。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:CreateDatabase

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

name

string

名稱。

db_demo

properties

map

配置參數結構體。

傳回值

名稱

類型

描述

樣本值

當前API暫無返回參數。

異常說明

類型

描述

AlreadyExistsException

REST請求返回409, 表示資料庫已經存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有建立資料庫的許可權。

樣本

Map<String, String> properties = new HashMap();
properties.put("k1", "v1");
api.createDatabase("db_demo", properties);

GetDatabase - 擷取資料庫

從在資料目錄中擷取某個中繼資料庫。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:GetDatabase

get

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

name

string

名稱。

db_demo

傳回值

名稱

類型

描述

樣本值

-

object

返回資料。

id

string

資料庫ID。

6b168495-4a4f-48a5-be43-c258d6ce0715

name

string

資料庫名稱。

db_demo

location

string

Database的Location。

options

map

配置參數結構體。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取資料庫。

樣本

 GetDatabaseResponse response = api.getDatabase(name);

DropDatabase - 刪除資料庫

從資料目錄中刪除一個資料庫。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropDatabase

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

name

string

名稱。

db_demo

傳回值

名稱

類型

描述

樣本值

當前API暫無返回參數。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取資料庫。

樣本

api.dropDatabase(name);

AlterDatabase - 變更資料庫

更新資料目錄中某個資料庫的資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:AlterDatabase

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

name

string

名稱。

db_demo

  • removals

array

需要刪除的配置列表。

k1

removal

string

需要刪除的配置。

updates

map

需要更新的配置索引值對。

傳回值

名稱

類型

描述

樣本值

當前API暫無返回參數。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取資料庫。

樣本

List<String> removals = new ArrayList<>();
removals.add(“k1”)
Map<String, String> updates = new HashMap<>();
updates.put("k2", "v2")
api.alterDatabase(name, removals, updates);

表API

CreateTable - 建立表

建立表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:CreateTable

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表標識符。

schema

Schema

表結構。

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

AlreadyExistsException

REST請求返回409,表示表已經存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有建立表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
Schema schema =
            new Schema(
                    Lists.newArrayList(
                            new DataField(0, "pk", DataTypes.INT()),
                            new DataField(1, "col1", DataTypes.STRING()),
                            new DataField(2, "col2", DataTypes.STRING())),
                    Collections.emptyList(),
                    Collections.emptyList(),
                    Maps.newHashMap(),
                    "");
restApi.createTable(identifier, schema);

DropTable - 刪除表

刪除表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropTable

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表標識符。

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有刪除當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "new_table");
restApi.dropTable(identifier);

RenameTable - 重新命名表

重新命名表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:RenameTable

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

fromIdentifier

Identifier

原表標識符。

toIdentifier

Identifier

目標表標識符。

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示原表不存在。

AlreadyExistsException

REST請求返回409,表示目標表已存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有修改當前表的許可權。

樣本

Identifier fromIdentifier = Identifier.create("test_db", "old_table");
Identifier toIdentifier = Identifier.create("test_db", "new_table");
restApi.renameTable(fromIdentifier, toIdentifier);

AlterTable - 變更表

根據標識符變更表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:AlterTable

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

  • changes

array

表變更資訊列表。

schemaChange

SchemaChange

表變更資訊。

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有修改當前表的許可權。

樣本

ArrayList<SchemaChange> schemaChanges = Lists.newArrayList(
                SchemaChange.addColumn("col2", DataTypes.DATE()),
                SchemaChange.addColumn("col3", DataTypes.STRING(), "col3 field"));
restApi.alterTable(
                identifier,
                schemaChanges);

GetTable - 擷取表詳情

擷取資料湖中表的詳細資料。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:GetTable

get

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表標識符。

傳回值

名稱

類型

描述

樣本值

getTableResponse

GetTableResponse

表詳情資訊。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
GetTableResponse response = restApi.getTable(identifier);

ListTables - 查詢表列表

用於查詢資料湖表的名稱列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListTables

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

databaseName

string

資料庫名稱。

test_db

傳回值

名稱

類型

描述

樣本值

  • tables

array

表名稱列表。

[test_table1, test_table2]

table

string

表名稱。

test_table

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有查看當前庫的許可權。

樣本

String databaseName = "test_db";
List<String> tables = restApi.listTables(databaseName);

ListTablesPaged - 分頁擷取表名稱列表

分頁查詢資料湖中表列表,可以根據表名稱匹配。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListTables

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

databaseName

string

資料庫名稱。

test_db

maxResults

string

每頁大小,實際生效值為傳入值與服務端預設值之間的最小值。

10

pageToken

string

翻頁Token,從返回結果返回,無則傳null,如果返回的 NextPageToken為空白字串,那麼說明無資料了。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

tableNamePattern

string

SQL風格的表右模糊比對模式(%),不傳將返回所有表。

test_table%

傳回值

名稱

類型

描述

樣本值

-

object

返回資料。

  • pagedTables

array

表名稱列表。

table

string

表名稱。

test_table

nextPageToken

string

翻頁Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有查看當前庫的許可權。

樣本

  • 擷取全部表列表

    String databaseName = "db_test";
    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listTablesPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根據表名稱匹配分頁擷取表列表

    String databaseName = "test_db";
    PagedList<String> pagedTables = restApi.listTablesPaged(databaseName, 10, pageToken, "test_table%");

ListTableDetailsPaged - 分頁擷取表詳情列表

分頁查詢資料湖中表詳情列表,可以根據表名稱匹配。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListTableDetails

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

databaseName

string

資料庫名稱。

test_db

maxResults

string

每頁大小,實際生效值為傳入值與服務端預設值之間的最小值。

10

pageToken

string

翻頁Token,從返回結果返回,無則傳空,如果返回的NextPageToken為空白字串,那麼說明無資料了。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

tableNamePattern

string

SQL風格的表右模糊比對模式(%),不傳將返回所有表。

test_table%

傳回值

名稱

類型

描述

樣本值

-

object

返回資料。

  • pagedTableDetails

array

表詳情列表。

tableDetail

表詳情。

nextPageToken

string

翻頁Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有查看當前庫的許可權。

樣本

  • 擷取全部表詳情

    String databaseName = "test_db";
    int maxResults = 10;
    List<GetTableResponse> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listTablesPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根據表名稱匹配分頁擷取表

    String databaseName = "test_db";
    PagedList<GetTableResponse> pagedTableDetails = restApi.listTablesPaged(databaseName, 10, pageToken, "test_table%");

GetTableSnapshot - 擷取表的最新快照資訊

擷取資料湖中表最新快照資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:GetTableSnapshot

get

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表標識符。

傳回值

名稱

類型

描述

樣本值

TableSnapshot

TableSnapshot

錶快照資訊。

異常說明

類型

描述

NoSuchResourceException

REST請求返回 404,表示表或者最新的快照不存在。

ForbiddenException

REST請求返回 403,表示目前使用者沒有擷取當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
restApi.loadSnapshot(identifier)

GetVersionSnapshot - 擷取某個版本的快照

根據版本資訊擷取表的快照。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:GetVersionSnapshot

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表標識符。

version

String

版本資訊。

"Latest", "EARLIEST","1"

傳回值

名稱

類型

描述

樣本值

Snapshot

Snapshot

錶快照資訊。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404, 表示表或者最新的快照不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
String version = "Latest";
restApi.loadSnapshot(identifier, version);

ListSnapshotsPaged - 分頁查詢快照列表

用於查詢資料湖表的快照列表資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListSnapshots

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表標識符。

maxResults

string

每頁大小, 實際生效值為傳入值與服務端預設值之間的最小值。

10

pageToken

string

翻頁Token,從返回結果返回,無則傳空,如果返回的 NextPageToken為空白字串,那麼說明無資料了。

1

傳回值

名稱

類型

描述

樣本值

  • elements

array

錶快照資訊列表。

snapshot

Snapshot

錶快照資訊。

nextPageToken

string

翻頁Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有查看當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
int maxResults = 10;
List<Snapshot> results = new ArrayList<>();
Map<String, String> queryParams = Maps.newHashMap();
String pageToken = null;
do {
  PagedResponse<Snapshot> response = restApi.listSnapshotsPaged(identifier, maxResults, pageToken);
  pageToken = response.getNextPageToken();
  if (response.data() != null) {
    results.addAll(response.data());
  }
  if (pageToken == null || response.data() == null || response.data().isEmpty()) {
    break;
  }
} while (StringUtils.isNotEmpty(pageToken));

RollbackTable - 復原表

復原資料庫中的表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:RollbackTable

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

instant

Instant

復原執行個體資訊。

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示表或者復原的快照或者標籤不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有復原當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
Instant instant = Instant.snapshot(snapshotId)
restApi.rollbackTo(identifier, instant);

CreateBranch - 建立表分支

建立資料庫中表分支。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:CreateBranch

create

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

branch

string

分支。

test_branch

fromTag

string

標籤。

test_tag

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料表或標籤不存在。

AlreadyExistsException

REST請求返回409,表示分支已經存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有建立分支的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "new_table");
restCatalog.createBranch(tableIdentifier, "test_branch", "tag_test");

DropBranch - 刪除表分支

根據名稱刪除資料庫中的表分支。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropBranch

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

branch

string

分支名。

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示分支不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有刪除當前分支的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
restApi.dropBranch(identifier, "branch_test");

ForwardBranch - Forward表分支

Forward表分支。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ForwardBranch

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

branch

string

分支名。

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示分支不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有刪除當前分支的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
restApi.fastForward(identifier, "branch_test");

ListBranches - 擷取表分支列表

用於查詢資料庫中表分支列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListBranches

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

傳回值

名稱

類型

描述

樣本值

  • branches

array

表名稱列表。

[test_branch1, test_branch2]

branch

string

表名稱。

test_branch

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有查看當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "test_table");
List<String> branches = restApi.listBranches(identifier);

分區API

ListPartitions - 擷取分區列表

擷取分區列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListPartitions

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

傳回值

名稱

類型

描述

樣本值

  • partitions

array

分區詳情列表。

partition

string

分區詳情。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "new_table");
List<Partition> tables = restApi.listPartitions(identifier);

ListPartitionsPaged - 分頁擷取分區列表

分頁查詢分區列表,可以根據分區名稱匹配。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListPartitions

list

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表標識符。

maxResults

string

每頁大小,實際生效值為傳入值與服務端預設值之間的最小值。

10

pageToken

string

翻頁Token,從返回結果返回,無則傳空,如果返回的 NextPageToken為空白字串,那麼說明無資料了。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

partitionNamePattern

string

SQL風格的表右模糊比對模式,不傳將返回所有表。

year=2025%

傳回值

名稱

類型

描述

樣本值

-

object

返回資料。

  • pagedPartitions

array

分區詳情列表。

partition

Partition

分區詳情。

nextPageToken

string

翻頁Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有當前表的許可權。

樣本

  • 擷取全部分區詳情列表

    Identifier identifier = Identifier.create("test_db", "new_table");
    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<Partition> response = restApi.listPartitionsPaged(identifier, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根據分區名稱匹配分頁擷取分區詳情列表

    Identifier identifier = Identifier.create("test_db", "new_table");
    PagedList<Partition> pagedPartitions = restApi.listPartitionsPaged(identifier, 10, pageToken, "year=2025%");

MarkDonePartitions - 標記完成分區

標記完成分區。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:MarkDonePartitions

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

表描述符。

  • partitions

array

待標記完成的分區列表。

partition

Map

待標記完成的分區。

{"year":"1025", "month": "05"}

傳回值

名稱

類型

描述

樣本值

當前API暫無傳回值。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料表不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有當前表的許可權。

樣本

Identifier identifier = Identifier.create("test_db", "new_table");
List<Map<String, String>> partitions = new ArrayList<>();
LinkedHashMap<String, String> partition = new LinkedHashMap<>();
partition.put("year", "2025");
partition.put("month", "05");
restApi.markDonePartitions(identifier, partitions);

視圖API

ListViews - 查詢檢視列表

擷取資料庫中視圖列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListViews

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

databaseName

string

資料庫名稱。

db_demo

傳回值

名稱

類型

描述

樣本值

  • views

array

視圖名稱列表。

view

string

視圖名稱。

view_demo

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示視圖不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取視圖的許可權。

樣本

 List<String> viewNames = api.listViews(name);

ListViewsPaged - 分頁查詢檢視列表

分頁擷取資料庫中視圖列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListViews

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

databaseName

string

資料庫名稱。

db_demo

maxResults

integer

一次返回的個數, 如果未提供,如果未設定,則設定為伺服器配置的值。當設定為大於 0 的值時,則取此值和伺服器配置值中的最小值。

10

pageToken

string

分頁的開始位置,第一次填寫null,後續的填寫上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken為空白字串,那麼說明無資料了。

view_test

viewNamePattern

string

視圖名稱的sql LIKE右模糊模式(%)。如果未設定或為空白,將返回所有視圖。

view_tes%

傳回值

名稱

類型

描述

樣本值

-

object

返回資料。

  • elements

array

視圖名稱列表。

[view_demo]

view

string

視圖名稱。

view_demo

nextPageToken

string

翻頁Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示視圖不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取視圖的許可權。

樣本

  • 擷取全部表列表

    String databaseName = "db_test";
    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listViewsPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根據表名稱匹配分頁擷取表列表

    String databaseName = "test_db";
    PagedList<String> pagedViews = restApi.listViewsPaged(databaseName, 10, null, "test_v%");

ListViewDetailsPaged - 分頁查詢檢視詳細資料列表

分頁查詢資料庫中的視圖詳細資料列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListViewDetails

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

databaseName

string

資料庫名稱。

db_demo

maxResults

integer

一次返回的個數,如果未提供,如果未設定,則設定為伺服器配置的值。當設定為大於 0 的值時,則取此值和伺服器配置值中的最小值。

10

pageToken

string

分頁的開始位置,第一次填寫null,後續的填寫上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken 為空白字串,那麼說明無資料了。

view_test

viewNamePattern

string

視圖名稱的sql LIKE右模糊模式(%)。如果未設定或為空白,將返回所有視圖。

view_tes%

傳回值

名稱

類型

描述

樣本值

-

PagedList

返回資料。

  • elements

array

視圖詳情列表。

[view_demo]

viewDetail

GetViewResponse

視圖詳情。

nextPageToken

string

下一頁開頭的Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示視圖不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取視圖詳情的許可權。

樣本

  • 擷取全部表列表

    String databaseName = "db_test";
    int maxResults = 10;
    List<GetViewResponse> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<GetViewResponse> response = restApi.listViewDetailsPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根據表名稱匹配分頁擷取表列表

    String databaseName = "test_db";
    PagedList<GetViewResponse> pagedViewDetails = restApi.listViewDetailsPaged(databaseName, 10, null, "test_v%");

CreateView - 建立視圖

在資料庫中建立一個視圖。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:CreateView

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

視圖描述符。

schema

ViewSchema

視圖結構。

異常說明

類型

描述

AlreadyExistsException

REST請求返回409,表示視圖已經存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有建立視圖的許可權。

樣本

Identifier identifier = new Identifier(databaseName, "my_view");
RowType rowType = RowType.builder().field("str",DataTypes.STRING()).build();
String query = "SELECT * FROM OTHER_TABLE";
Map<String, String> option = new HashMap<>();
Map<String, String> dialects = new HashMap<>();
dialects.put("spark", "SELECT * FROM SPARK_TABLE");
ViewSchema schema =
        new ViewSchema(
                rowType.getFields(),
                query,
                dialects,
                "comment",
                option));
api.createView(identifier, schema);

GetView - 擷取視圖

擷取資料庫中某個視圖詳情。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:GetView

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

視圖描述符。

傳回值

名稱

類型

描述

樣本值

id

string

視圖ID。

name

string

視圖名稱。

schema

ViewSchema

視圖結構。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取資料庫的許可權。

樣本

Identifier identifier = new Identifier(databaseName, "my_view");
GetViewResponse response = api.getView(identifier);

DropView - 刪除視圖

刪除資料庫中某個視圖。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropView

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

identifier

Identifier

視圖描述符。

傳回值

名稱

類型

描述

樣本值

當前API暫無返回參數。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示資料庫不存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有擷取資料庫的許可權。

樣本

Identifier identifier = new Identifier(databaseName, "my_view");
api.dropView(identifier);

RenameView - 重新命名視圖

重新命名資料庫中某個視圖。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:RenameView

*全部資源

*

請求參數

名稱

類型

必填

描述

樣本值

fromView

Identifier

原視圖描述符。

toView

Identifier

更新後視圖描述符。

傳回值

名稱

類型

描述

樣本值

當前API暫無返回參數。

異常說明

類型

描述

NoSuchResourceException

REST請求返回404,表示視圖不存在。

AlreadyExistsException

REST請求返回409,表示視圖已經存在。

ForbiddenException

REST請求返回403,表示目前使用者沒有重新命名視圖的許可權。

樣本

Identifier fromView = new Identifier(databaseName, "from_view");
Identifier toView = new Identifier(databaseName, "to_view");
api.renameView(fromView, toView);