CLI参考

本文详细介绍了DLF CLI的安装、配置及常用命令的使用方法,帮助您通过命令行方式高效地管理和操作DLF中的数据。

环境准备

ECS实例要求:

  • 需与DLF实例位于同一地域。DLF支持地域,请参见服务接入点

  • 必须部署在DLF授权的VPC内。如未授权,请参见配置VPC白名单

  • 需安装JDK 11或以上版本。

安装步骤

  1. 下载dlf-cli-20250818163820.tar.gz文件。

  2. 使用 scp 命令将tar包上传至目标ECS实例的目标目录。

    scp dlf-cli-20250818163820.tar.gz username@ecs-ip:/path/to/destination
  3. 登录ECS实例,进入目标目录,使用以下命令解压tar包。

    tar -xzvf dlf-cli-20250818163820.tar.gz
  4. 使用vim命令编辑dlf-cli/conf/dlf-cli.properties配置文件,配置以下参数。

    vim dlf-cli/conf/dlf-cli.properties

    参数

    描述

    示例

    uri

    访问DLF Rest Catalog ServerURI,格式为http://[region-id]-vpc.dlf.aliyuncs.com。详见服务接入点中的Region ID。

    http://cn-hangzhou-vpc.dlf.aliyuncs.com

    dlf.region

    详见服务接入点中的Region ID。

    cn-hangzhou

    dlf.access-key-id

    阿里云账号或者RAM用户的AccessKey ID。详情请参见查看RAM用户的AccessKey信息

    说明

    RAM用户或RAM角色需要有访问相应API的权限,详情请参见DLF RAM鉴权Action说明

    -

    dlf.access-key-secret

    阿里云账号或者RAM用户的AccessKey Secret。

    -

    dlf.open-api-endpoint

    访问 DLF OpenAPI 的 Endpoint。详见服务接入点

    若不填,则默认从 uri 推导。

    dlfnext.cn-hangzhou.aliyuncs.com

  5. (可选)通过执行 echo $JAVA_HOME 命令检查 JAVA_HOME 是否已正确设置。如果返回为空或不是JDK 11的安装路径,则需要重新配置 JAVA_HOME

    export JAVA_HOME=<JDK_11_PATH>

    示例如下图。image

授权信息

RAM访问控制

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

dlf:详见具体API

详见具体API

*全部资源

*

说明

RAM访问控制更新通常需要1分钟左右生效。

ACL权限管理

详情请参考授权管理

role命令

list - 获取角色列表

获取所有角色(Role)的名称列表,支持分页查询和条件筛选。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListRoles

get

*全部资源

*

用法

./dlf-cli/bin/dlf role list \
[--max_results <max_results>] \
[--page_token <page_token>] \
[--role_name <role_name>]

参数说明

参数名

类型

是否必填

描述

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

--role_name

字符串

根据角色名称过滤结果,支持模糊匹配。

示例

./dlf-cli/bin/dlf role list

返回结果

2025-07-07 17:12:02 : {
  "nextPageToken" : null,
  "roles" : [{
    "createdAt" : 1744428101414,
    "createdBy" : "xxxx",
    "description" : "super_administrator(system role)",
    "displayName" : "super_administrator",
    "isPredefined" : "true",
    "roleName" : "super_administrator",
    "rolePrincipal" : "xxxx",
    "updatedAt" : 1744428101414,
    "updatedBy" : "xxxx",
    "users" : [{
      "createdAt" : 1747744999611,
      "createdBy" : "xxx",
      "displayName" : "xxx",
      "type" : "RAM_USER",
      "updatedAt" : 1747744999611,
      "updatedBy" : "xxxx",
      "userId" : "207384147744632137",
      "userName" : "xxxx",
      "userPrincipal" : "xxxx"
    }]
  }]
}

get - 获取角色的详细信息

获取指定角色(Role)的详细信息,支持根据角色主体查询角色详情。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetRole

get

*全部资源

*

用法

./dlf-cli/bin/dlf role get \
--role_principal <role_principal>

参数说明

参数名

类型

是否必填

描述

--role_principal

字符串

角色主体标识,用于唯一确定一个角色。

示例

./dlf-cli/bin/dlf role get \
--role_principal 'acs:dlf::104568******:role/engineer' 

返回结果

2025-07-07 17:12:02 : {
  "createdAt" : 1749435901626,
  "createdBy" : "xxxx",
  "description" : null,
  "displayName" : null,
  "isPredefined" : "false",
  "roleName" : "engineer",
  "rolePrincipal" : "xxxx",
  "updatedAt" : 1750404792198,
  "updatedBy" : "xxxx",
  "users" : [ {
    "createdAt" : 1744428101252,
    "createdBy" : "",
    "displayName" : "xxxx",
    "type" : "RAM_USER",
    "updatedAt" : 1744428101252,
    "updatedBy" : "",
    "userId" : "xxxx",
    "userName" : "xxxx",
    "userPrincipal" : "xxxx"
  }]
}

create - 创建角色

创建一个新的角色(Role),支持指定角色名称、显示名称和描述信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateRole

create

*全部资源

*

用法

./dlf-cli/bin/dlf role create \
--role_name <role_name> \
--display_name <display_name> \
[--description <description>]

参数说明

参数名

类型

是否必填

描述

--role_name

字符串

角色的唯一标识名称。

--display_name

字符串

角色的显示名称,用于用户界面展示。

--description

字符串

角色的描述信息,用于说明角色的用途或权限范围(可选)。

示例

./dlf-cli/bin/dlf role create \
--role_name 'test_viewer' \
--display_name 'test viewer' \
--description 'test for viewer'

返回结果

2025-07-07 17:14:30 : success

alter - 更新角色信息

更新指定角色(Role)的显示名称或描述信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:UpdateRole

update

*全部资源

*

用法

./dlf-cli/bin/dlf role alter \
--role_principal <role_principal> \
--display_name <display_name> \
[--description <description>] 

参数说明

参数名

类型

是否必填

描述

--role_principal

字符串

角色主体标识,用于唯一确定需要更新的角色。

--display_name

字符串

新的显示名称,用于用户界面展示。

--description

字符串

新的描述信息,用于说明角色的用途或权限范围(可选)。

示例

./dlf-cli/bin/dlf role alter \
--role_principal 'acs:dlf::104568******:role/engineer' \
--display_name 'engineer role'

返回结果

2025-07-08 10:00:54 : success

drop - 删除角色

删除指定的角色(Role)。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DeleteRole

delete

*全部资源

*

用法

./dlf-cli/bin/dlf role drop \
--role_principal <role_principal>

参数说明

参数名

类型

是否必填

描述

--role_principal

字符串

角色主体标识,用于唯一确定一个角色。

示例

./dlf-cli/bin/dlf role drop \
--role_principal 'acs:dlf::104568******:role/test_viewer'

返回结果

2025-07-08 10:00:54 : success

listUsers - 获取与角色关联的用户列表

获取与指定角色(Role)关联的用户列表。支持分页查询,并返回与角色绑定的用户信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListRoleUsers

get

*全部资源

*

用法

./dlf-cli/bin/dlf role list_users \
--role_principal <role_principal> \
[--max_results <max_results>] \
[--page_token <page_token>] 

参数说明

参数名

类型

是否必填

描述

--role_principal

字符串

角色主体标识,用于唯一确定目标角色。

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf role list_users \
--role_principal 'acs:dlf::1045689747920334:role/engineer'

返回结果

2025-07-08 09:59:58 : {
  "nextPageToken" : null,
  "users" : [ {
    "createdAt" : 1744428101252,
    "createdBy" : "",
    "displayName" : "dw_test",
    "type" : "RAM_USER",
    "updatedAt" : 1744428101252,
    "updatedBy" : "",
    "userId" : "205775142194523069",
    "userName" : "dw_test",
    "userPrincipal" : "acs:ram::1045689747920334:user/dw_test"
  } ]
}

grantUsers - 将角色授予用户

将指定角色(Role)授予一个或多个用户。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GrantRoleToUsers

create

*全部资源

*

用法

./dlf-cli/bin/dlf role grant_users \
--role_principal <role_principal> \
--user_principals <user_principals>

参数说明

参数名

类型

是否必填

描述

--role_principal

字符串

角色主体标识,用于唯一确定目标角色。

--user_principals

字符串

用户主体标识列表,多个用户以逗号分隔(如 '["user1","user2","user3"]')。

示例

./dlf-cli/bin/dlf role grant_users \
--role_principal 'acs:dlf::1045689747920334:role/engineer' \
--user_principals '["acs:ram::104568******:user/starrocks_test"]'

返回结果

2025-07-08 10:00:54 : success

revokeUsers - 取消用户与角色的关联

取消指定用户与角色(Role)的关联。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:RevokeRoleFromUsers

*全部资源

*

用法

./dlf-cli/bin/dlf role revoke_users \
--role_principal <role_principal> \
--user_principals <user_principals>

参数说明

参数名

类型

是否必填

描述

--role_principal

字符串

角色主体标识,用于唯一确定目标角色。

--user_principals

字符串

用户主体标识列表,多个用户以逗号分隔(如 '["user1","user2","user3"]')。

示例

./dlf-cli/bin/dlf role revoke_users \
--role_principal 'acs:dlf::1045689747920334:role/engineer' \
--user_principals '["acs:ram::1045689747920334:user/starrocks_test"]'

返回结果

2025-07-08 10:14:37 : success

user命令

list - 获取用户列表

获取用户列表,支持根据用户名、用户类型等条件筛选,并提供分页查询功能。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListUsers

get

*全部资源

*

用法

./dlf-cli/bin/dlf user list \
[--user_name <user_name>] \
[--user_type <user_type>] \
[--max_results <max_results>] \
[--page_token <page_token>] 

参数说明

参数名

类型

是否必填

描述

--user_name

字符串

根据用户名筛选用户,支持模糊匹配。

--user_type

字符串

根据用户类型筛选用户(如RAM_USERRAM_ROLE)。

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf user list \
--user_name 'starrocks_test' \
--user_type 'RAM_USER'

返回结果

2025-07-08 10:24:00 : {
  "nextPageToken" : null,
  "users" : [ {
    "createdAt" : 1744428101252,
    "createdBy" : "",
    "displayName" : "starrocks_test",
    "type" : "RAM_USER",
    "updatedAt" : 1744428101252,
    "updatedBy" : "",
    "userId" : "xxxxx",
    "userName" : "starrocks_test",
    "userPrincipal" : "acs:ram::104568******:user/starrocks_test"
  } ]
}

list_role - 获取用户关联的角色列表

获取指定用户关联的角色(Role)列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListUserRoles

get

*全部资源

*

用法

./dlf-cli/bin/dlf user list_role \
--user_principal <user_principal> \
[--max_results <max_results>] \
[--page_token <page_token>] 

参数说明

参数名

类型

是否必填

描述

--user_principal

字符串

用户主体标识,用于唯一确定目标用户。

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf user list_role \
--user_principal 'acs:ram::104568******:user/starrocks_test'

返回结果

2025-07-15 13:18:45 : {
  "nextPageToken" : null,
  "roles" : [{
    "createdAt" : 1749435901626,
    "createdBy" : "acs:ram::104568******:root",
    "description" : null,
    "displayName" : "enginer role",
    "isPredefined" : "false",
    "roleName" : "engineer",
    "rolePrincipal" : "acs:dlf::104568******:role/engineer",
    "updatedAt" : 1751960724469,
    "updatedBy" : "acs:ram::104568******:root",
    "users" : null
  }]
}

permission命令

list - 获取权限列表

获取指定资源类型的权限列表。支持根据资源类型(如 catalogdatabasetable 等)和相关条件筛选权限信息,并提供分页查询功能。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListPermissions

get

*全部资源

*

用法

./dlf-cli/bin/dlf permission list \
--catalog <catalogName>  \
--resource_type '' \
[--database <database>] \
[--table <table>] \
[--principal <principal>] \
[--max_results <max_results>] \
[--page_token <page_token>] 

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于指定权限所属的Catalog。

--resource_type

字符串

资源类型,可选值为 catalogdatabasetablefunction 或 view

--database

字符串

数据库名称,仅当 resource_type 为 database 或其子资源时需要填写。

--table

字符串

表名称,仅当 resource_type 为 table 或其子资源时需要填写。

--principal

字符串

主体标识(用户或角色),用于筛选特定主体的权限信息。

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf permission list \
--catalog test_paimon \
--resource_type database \
--database default

返回结果

2025-07-08 10:51:31 : {
  "nextPageToken" : null,
  "permissions" : [ {
    "access" : "ALTER",
    "columns" : null,
    "database" : "default",
    "function" : null,
    "principal" : "acs:ram::104568******:user/bennett-test",
    "resourceType" : "DATABASE",
    "table" : null,
    "view" : null
  }, {
    "access" : "SELECT",
    "columns" : null,
    "database" : "default",
    "function" : null,
    "principal" : "acs:ram::104568******:user/bennett-test",
    "resourceType" : "DATABASE_ALL",
    "table" : null,
    "view" : null
  } ]
}

grant - 授权

为指定主体(用户或角色)授权。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:BatchGrantPermissions

create

*全部资源

*

用法

./dlf-cli/bin/dlf permission grant \
--catalog <catalogName>  \
--permissions '[]'

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于指定权限所属的Catalog。

--permissions

JSON字符串

权限配置的JSON字符串数组,包含访问类型(access)、数据库名称(database)、用户资源(principal)、权限资源类型(resourceType),详情请参见Permission

单个permission说明如下:

{"access" : "SELECT", "database" : "default", "principal" : "acs:ram::104568******:user/starrocks_test", "resourceType" : "DATABASE"}

示例

./dlf-cli/bin/dlf permission grant \
--catalog test_paimon  \
--permissions '[{"access" : "SELECT", "database" : "default", "principal" : "acs:ram::104568******:user/starrocks_test", "resourceType" : "DATABASE"}]'

返回结果

2025-07-08 10:53:41 : success

revoke - 取消授权

取消指定主体(用户或角色)的资源权限。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:BatchRevokePermissions

*全部资源

*

用法

./dlf-cli/bin/dlf permission revoke \
--catalog [catalogName]  \
--permissions '[]'

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于指定权限所属的Catalog。

--permissions

JSON字符串

权限配置的JSON字符串,包含主体、资源类型、资源名称及权限列表等信息。

示例

./dlf-cli/bin/dlf permission revoke \
--catalog test_paimon  \
--permissions '[{"access" : "SELECT", "database" : "default", "principal" : "acs:ram::104568******:user/starrocks_test", "resourceType" : "DATABASE"}]'

返回结果

2025-07-08 10:53:41 : success

catalog命令

help - 获取catalog支持的命令

./dlf-cli/bin/dlf catalog help

list - 获取catalog列表

获取catalog列表,支持分页查询。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListCatalogs

get

*全部资源

*

用法

./dlf-cli/bin/dlf catalog list \
[--max_results <max_results>] \
[--page_token <page_token>]

参数说明

参数名

类型

是否必填

描述

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf catalog list

返回结果

2025-07-07 17:24:47 : {
  "catalogs" : [ {
    "createdAt" : 1748335426553,
    "createdBy" : "xxxx",
    "id" : "xxxxx",
    "name" : "xxxx",
    "options" : {
      "storage.data.redundancy.type" : "LRS",
      "comment" : "xxxx"
    },
    "owner" : "xxxx",
    "status" : "RUNNING",
    "type" : "PAIMON",
    "updatedAt" : 1748350097424,
    "updatedBy" : "xxxx"
  }, {
    "createdAt" : 1747885240095,
    "createdBy" : "xxxx",
    "id" : "xxxx",
    "name" : "xxxx",
    "options" : {
      "catalog.data.token.minExpireSeconds" : "43200",
      "storage.data.redundancy.type" : "LRS",
      "comment" : "xxxx",
      "catalog.data.token.isTable" : "true",
      "catalog.data.token.maxExpireSeconds" : "43200"
    },
    "owner" : "xxxx",
    "status" : "RUNNING",
    "type" : "PAIMON",
    "updatedAt" : 1751846858724,
    "updatedBy" : "acs:ram::104568******:root"
  } ],
  "nextPageToken" : null
}

get - 获取单个catalog详情

获取指定 Catalog 的详细信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetCatalog

get

*全部资源

*

用法

./dlf-cli/bin/dlf catalog get \
--catalog <catalog name>

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于唯一确定目标Catalog。

示例

./dlf-cli/bin/dlf catalog get \
--catalog test_paimon

返回结果

2025-07-08 10:56:51 : {
  "createdAt" : 1747982344641,
  "createdBy" : "acs:ram::104568******:root",
  "id" : "clg-paimon-802dcc2xxxxx",
  "name" : "test_paimon",
  "options" : {
    "storage.data.redundancy.type" : "LRS",
    "comment" : ""
  },
  "owner" : "acs:ram::104568******:root",
  "status" : "RUNNING",
  "type" : "PAIMON",
  "updatedAt" : 1747982348385,
  "updatedBy" : "acs:ram::104568******:root"
}

create - 创建catalog

创建catalog。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateCatalog

create

*全部资源

*

用法

./dlf-cli/bin/dlf catalog create \
--catalog <catalog name> \
--options '{}'

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称。

--options

JSON字符串

Catalog的配置选项,以JSON字符串格式提供,包含属性如描述等。

示例

./dlf-cli/bin/dlf catalog create \
--catalog test-cli \
--options '{"comment": "test"}'

返回结果

2025-07-07 17:45:04 : success

alter - 更新catalog信息

更新指定Catalog的信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:AlterCatalog

update

*全部资源

*

用法

./dlf-cli/bin/dlf catalog alter \
--catalog <catalog name> \
--removals '[]' \
--updates '{}'

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于唯一标识目标Catalog。

--removals

JSON字符串

需要移除的属性名称列表,以JSON数组格式提供(如'["key1", "key2"]')。

--updates

JSON字符串

需要更新的属性及其值,以JSON对象格式提供(如 '{"key1": "value1"}')。

示例

./dlf-cli/bin/dlf catalog alter \
--catalog test-cli \
--removals '[]' \
--updates '{"comment": "new comment", "k1": "v1"}'

返回结果

2025-07-07 17:45:04 : success

drop - 删除catalog

删除指定的Catalog。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropCatalog

delete

*全部资源

*

用法

./dlf-cli/bin/dlf catalog drop \
--catalog <catalog name>

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于唯一标识需要删除的目标Catalog。

示例

./dlf-cli/bin/dlf catalog drop \
--catalog test-cli

返回结果

2025-07-07 17:45:04 : success

get_token - 获取单个catalog的临时访问凭证

获取指定 Catalog 的临时访问凭证。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetCatalogToken

get

*全部资源

*

用法

./dlf-cli/bin/dlf catalog get_token \
--catalog <catalog name>

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于唯一确定目标Catalog。

示例

./dlf-cli/bin/dlf catalog get_token \
--catalog test_paimon

返回结果

2025-08-18 16:58:38 : {
  "expiresAtMillis" : 1755550718000,
  "token" : {
    "fs.oss.accessKeyId" : "STS.xxx",
    "fs.oss.accessKeySecret" : "xxx",
    "fs.oss.securityToken" : "xxx",
    "fs.oss.endpoint" : "xxx",
    "fs.oss.bucket.name" : "clg-paimon-xxx"
  }
}

database命令

help - 获取database支持的命令

./dlf-cli/bin/dlf database list

list - 获取catalog下的database名称列表

获取指定Catalog下的数据库(Database)名称列表。支持分页查询。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListDatabases

list

*全部资源

*

用法

./dlf-cli/bin/dlf database list \
--catalog [catalogName] \
[--max_results <max_results>] \
[--page_token <page_token>]

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于指定目标Catalog。

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf database list \
--catalog test-cli

返回结果

2025-07-08 10:59:26 : {
  "elements" : [ "default", "system", "test_db" ],
  "nextPageToken" : null
}

get - 获取database详情

获取指定数据库(Database)的详细信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetDatabase

get

*全部资源

*

用法

./dlf-cli/bin/dlf database get \
--full_name <catalogName.databaseName>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

数据库的全名,格式为 <catalogName>.<databaseName>,用于唯一标识目标数据库。

示例

./dlf-cli/bin/dlf database get \
--full_name test-cli.default

返回结果

2025-07-08 11:03:51 : {
  "id" : "db-9605ccda-cf07-4a74-a137-3c166590177e",
  "name" : "default",
  "location" : "oss://clg-paimon-b1af75fab07c4dfb9c0e2205a41740c6/db-9605ccda-cf07-4a74-a137-3c166590177e.db",
  "options" : { },
  "owner" : "acs:ram::1045689747920334:root",
  "createdAt" : 1751882013752,
  "createdBy" : "acs:ram::1045689747920334:root",
  "updatedAt" : 1751882013752,
  "updatedBy" : "acs:ram::1045689747920334:root"
}

create - 创建database

创建一个新的数据库(Database)。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateDatabase

create

*全部资源

*

用法

./dlf-cli/bin/dlf database create \
--full_name <catalogName.databaseName> \
--options <options>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

数据库的全名,格式为 <catalogName>.<databaseName>,用于唯一标识新创建的数据库。

--options

JSON字符串

数据库的配置选项,以 JSON字符串 格式提供,包含属性如存储位置、描述信息等。

示例

./dlf-cli/bin/dlf database create \
--full_name test-cli.test_db \
--options '{"k1":"v1","k2":"v2"}'

返回结果

2025-07-08 11:07:34 : success

alter - 更新database信息

更新指定数据库(Database)的配置信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:AlterDatabase

update

*全部资源

*

用法

./dlf-cli/bin/dlf database alter \
--full_name <catalogName.databaseName> \
--removals <removals> \
--updates <updates>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

数据库的全名,格式为 <catalogName>.<databaseName>,用于唯一标识目标数据库。

--removals

JSON字符串

需要移除的属性名称列表,以 JSON 数组格式提供(如 '["key1", "key2"]')。

--updates

JSON字符串

需要更新的属性及其值,以 JSON 对象格式提供(如 '{"key1": "value1"}')。

示例

./dlf-cli/bin/dlf database alter \
--full_name test-cli.test_db \
--removals '["k1"]' \
--updates '{"k2":"v3"}'

返回结果

2025-07-08 11:08:26 : success

drop - 删除database

删除指定的数据库(Database)。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropDatabase

delete

*全部资源

*

用法

./dlf-cli/bin/dlf database drop \
--full_name <catalogName.databaseName> 

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

数据库的全名,格式为 <catalogName>.<databaseName>,用于唯一标识需要删除的目标数据库。

示例

./dlf-cli/bin/dlf database drop \
--full_name test-cli.test_db

返回结果

2025-07-08 11:09:26 : success

table命令

help - 获取table支持的命令

./dlf-cli/bin/dlf table help

list - 获取database下的table名称列表

获取指定数据库(Database)下的表(Table)名称列表。支持分页查询。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListTables

list

*全部资源

*

用法

./dlf-cli/bin/dlf table list \
--catalog <catalogName> \
--database <databaseName> \
[--max_results <max_results>] \
[--page_token <page_token>]

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog名称,用于指定目标Catalog。

--database

字符串

数据库名称,用于指定目标数据库。

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf table list \
--catalog test-cli \
--database test_db

返回结果

2025-07-08 11:27:39 : {
  "elements" : [ "test_table" ],
  "nextPageToken" : null
}

get - 获取table详情

获取指定表(Table)的详细信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetTable

get

*全部资源

*

用法

./dlf-cli/bin/dlf table get \
--full_name <catalogName.databaseName.tableName> 

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

示例

./dlf-cli/bin/dlf table get \
--full_name test-cli.test_db.test_table

返回结果

2025-07-08 11:29:13 : {
  "id" : "tbl-d2a8e203-xxxxxx",
  "name" : "test_table",
  "path" : "oss://clg-paimon-b1af75xxxxxx/db-2788b0b9-xxxxxx.db/tbl-d2a8e203-xxxxxx",
  "isExternal" : false,
  "schemaId" : 0,
  "schema" : {
    "fields" : [ {
      "id" : 0,
      "name" : "f0",
      "type" : "INT NOT NULL"
    }, {
      "id" : 1,
      "name" : "f1",
      "type" : "INT NOT NULL"
    } ],
    "partitionKeys" : [ "f0" ],
    "primaryKeys" : [ "f0", "f1" ],
    "options" : {
      "bucket" : "-2",
      "path" : "oss://clg-paimon-b1af75xxxxxx/db-2788b0b9-xxxxxx.db/tbl-d2a8e203-xxxxxx",
      "manifest.merge-min-count" : "10",
      "manifest.delete-file-drop-stats" : "true",
      "data-file.thin-mode" : "true",
      "partition.legacy-name" : "false",
      "write-only" : "true",
      "metastore.partitioned-table" : "true"
    },
    "comment" : "comment"
  },
  "owner" : "acs:ram::104568******:root",
  "createdAt" : 1751944703679,
  "createdBy" : "acs:ram::104568******:root",
  "updatedAt" : 1751944703679,
  "updatedBy" : "acs:ram::104568******:root"
}

create - 创建table

创建一个新的表(Table)。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateTable

create

*全部资源

*

用法

./dlf-cli/bin/dlf table create \
--full_name <catalogName.databaseName.tableName> \
--schema <schema>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识新创建的表。

--schema

JSON字符串

表的模式(Schema)配置,以JSON字符串格式提供,包含字段定义、类型等信息。

示例

./dlf-cli/bin/dlf table create \
--full_name test-cli.test_db.test_table \
--schema '{"fields" : [ {"id" : 0, "name" : "f0", "type" : "INT NOT NULL" }, {"id" : 1, "name" : "f1", "type" : "INT NOT NULL" } ], "partitionKeys" : [ "f0" ], "primaryKeys" : [ "f0", "f1" ], "options" : { }, "comment" : "comment" }'

返回结果

2025-07-08 11:18:23 : success

alter - 更新table信息

更新指定表(Table)的配置信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:AlterTable

*全部资源

*

用法

./dlf-cli/bin/dlf table alter \
--full_name <catalogName.databaseName.tableName> \
--changes <changes>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

--changes

JSON字符串

表的变更内容,以JSON数组格式提供,包含需要添加、修改或删除的字段及属性。

示例

./dlf-cli/bin/dlf table alter \
--full_name test-cli.test_db.test_table \
--changes '[{"action":"setOption", "key" : "snapshot.time-retained", "value" : "2h" }, {"action":"updateComment","comment" : "hahaha" }]'

返回结果

2025-07-08 11:35:18 : success

drop - 删除table

删除指定的表(Table)。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropTable

delete

*全部资源

*

用法

./dlf-cli/bin/dlf table drop \
--full_name <catalogName.databaseName.tableName>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识需要删除的目标表。

示例

./dlf-cli/bin/dlf table drop \
--full_name test-cli.test_db.test_table

返回结果

2025-07-08 11:35:18 : success

get_snapshot - 获取表的最新快照信息

获取指定表(Table)的最新快照(Snapshot)信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetTableSnapshot

get

*全部资源

*

用法

./dlf-cli/bin/dlf table get_snapshot \
--full_name <catalogName.databaseName.tableName>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

示例

./dlf-cli/bin/dlf table get_snapshot --full_name test_paimon.default.test_yt

返回结果

2025-07-08 11:42:32 : {
  "snapshot" : {
    "version" : 3,
    "id" : 14,
    "schemaId" : 0,
    "baseManifestList" : "manifest-list-e97f6ae4-xxxxxx",
    "baseManifestListSize" : 1041,
    "deltaManifestList" : "manifest-list-e97f6ae4-xxxxxx",
    "deltaManifestListSize" : 989,
    "changelogManifestList" : null,
    "commitUser" : "morax_d51dfc0b-xxxxxx",
    "commitIdentifier" : 5,
    "commitKind" : "COMPACT",
    "timeMillis" : 1749807238526,
    "logOffsets" : { },
    "totalRecordCount" : 3,
    "deltaRecordCount" : -5,
    "changelogRecordCount" : 0,
    "watermark" : -9223372036854775808
  },
  "recordCount" : 3,
  "fileSizeInBytes" : 799,
  "fileCount" : 1,
  "lastFileCreationTime" : 1749807176914
}

rollback - 回滚table

将指定表(Table)回滚到某个历史快照(Snapshot)版本。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:RollbackTable

*全部资源

*

用法

./dlf-cli/bin/dlf table rollback \
--full_name <catalogName.databaseName.tableName> \
--instant <instant>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

--instant

字符串

回滚的目标快照常量。内部参数及描述,请参见Instant

示例

./dlf-cli/bin/dlf table rollback \
--full_name test_paimon.default.test_yt \
--instant '{"type":"snapshot", "snapshotId": 13}'

返回结果

2025-07-08 11:46:56 : success

list_branches - 获取分支名称列表

获取指定表(Table)的分支名称列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListBranches

*全部资源

*

用法

./dlf-cli/bin/dlf table list_branches \
--full_name <catalogName.databaseName.tableName> 

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

示例

./dlf-cli/bin/dlf table list_branches \
--full_name test_paimon.default.test_yt

返回结果

2025-07-08 13:57:46 : [ "stream" ]

create_branch - 创建分支

为指定表(Table)创建一个新的分支。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateBranch

create

*全部资源

*

用法

./dlf-cli/bin/dlf table create_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName> \
[--from_tag <tagName>] 

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

--branch

字符串

新创建的分支名称。

--from_tag

字符串

可选参数,指定从哪个标签(Tag)创建分支。如果未指定,则默认从当前主分支创建。

示例

./dlf-cli/bin/dlf table create_branch \
--full_name test_paimon.default.test_yt \
--branch stream

返回结果

2025-07-08 13:56:41 : success

forward_branch - 分支向前推进

将指定表(Table)的分支向前推进到最新状态。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ForwardBranch

create

*全部资源

*

用法

./dlf-cli/bin/dlf table forward_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

--branch

字符串

需要向前推进的目标分支名称。

示例

./dlf-cli/bin/dlf table forward_branch \
--full_name test_paimon.default.test_yt \
--branch stream

返回结果

2025-07-08 13:56:41 : success

drop_branch - 删除分支

删除指定表(Table)的分支。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropBranch

*全部资源

*

用法

./dlf-cli/bin/dlf table drop_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName>

参数说明

参数名

类型

是否必填

描述

--full_name

字符串

表的全名,格式为 <catalogName>.<databaseName>.<tableName>,用于唯一标识目标表。

--branch

字符串

需要删除的目标分支名称。

示例

./dlf-cli/bin/dlf table drop_branch \
--full_name test_paimon.default.test_yt \
--branch stream

返回结果

2025-07-08 14:02:19 : success

partition命令

list - 获取分区列表

获取分区列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListPartitions

list

*全部资源

*

用法

./dlf-cli/bin/dlf partition list \
--catalog <catalogName> \
--identifier <identifier> \
[--max_results <max_results>] \
[--page_token <page_token>]

参数说明

参数名

类型

是否必填

描述

--catalog

字符串

Catalog 名称,用于指定目标 Catalog。

--identifier

字符串

表的标识符,格式为 <databaseName>.<tableName>,用于唯一标识目标表。

--max_results

整数

每页返回的最大结果数量,默认值为系统默认值。

--page_token

字符串

分页标记,用于获取下一页数据。首次调用无需填写,后续根据返回值使用。

示例

./dlf-cli/bin/dlf partition list \
--catalog 'baoma_poc' \
--identifier 'default.pk_ctas_tbl'

返回结果

2025-07-08 14:08:09 : {
  "elements" : [ {
    "spec" : {
      "p" : "1"
    },
    "recordCount" : 1,
    "fileSizeInBytes" : 684,
    "fileCount" : 1,
    "lastFileCreationTime" : 1748345335406,
    "done" : false
  } ],
  "nextPageToken" : null
}