Todos los productos
Search
Centro de documentos

Data Lake Formation:Referencia de la CLI

Última actualización: Sep 19, 2026

Este documento describe cómo instalar, configurar y usar la CLI de DLF para gestionar datos en DLF de manera eficiente.

Requisitos previos

La instancia de ECS debe cumplir con los siguientes requisitos:

  • Las instancias de ECS y DLF deben estar en la misma región. Para consultar la lista de regiones compatibles, consulte Regions and endpoints.

  • La instancia de ECS debe pertenecer a una VPC que tenga autorización para DLF. Si no se ha configurado la autorización, consulte API usage guide.

  • La instancia de ECS debe tener instalado JDK 11 o una versión posterior.

Instalación

  1. Descargue el archivo dlf-cli-20250818163820.tar.gz.

  2. Use el comando scp para cargar el paquete tar en un directorio de destino dentro de su instancia de ECS.

    scp dlf-cli-20250818163820.tar.gz username@ecs-ip:/path/to/destination
  3. Inicie sesión en su instancia de ECS, vaya al directorio de destino y ejecute el siguiente comando para extraer el paquete.

    tar -xzvf dlf-cli-20250818163820.tar.gz
  4. Use el comando vim para editar el archivo de configuración dlf-cli/conf/dlf-cli.properties y configure los siguientes parámetros.

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

    Parámetro

    Descripción

    Ejemplo

    uri

    El URI del servidor REST Catalog de DLF. El formato es http://[region-id]-vpc.dlf.aliyuncs.com. Para obtener más información sobre el identificador de región, consulte Regions and endpoints.

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

    dlf.region

    El identificador de la región. Para obtener más información, consulte Regions and endpoints.

    cn-hangzhou

    dlf.access-key-id

    El AccessKey ID de su cuenta de Alibaba Cloud o usuario de RAM.

    Nota

    El usuario o rol de RAM debe contar con los permisos de API obligatorios. Para obtener más información, consulte RAM authorization action reference.

    -

    dlf.access-key-secret

    El AccessKey Secret de su cuenta de Alibaba Cloud o usuario de RAM.

    -

    dlf.open-api-endpoint

    El endpoint de OpenAPI de DLF. Para obtener más información, consulte Endpoints.

    Si deja este parámetro vacío, su valor se obtiene del parámetro uri.

    dlfnext.cn-hangzhou.aliyuncs.com

  5. (Opcional) Ejecute el comando echo $JAVA_HOME para comprobar la variable de entorno JAVA_HOME. Si la salida está vacía o la variable no apunta a la ruta de instalación de JDK 11, vuelva a configurar la variable JAVA_HOME.

    export JAVA_HOME=<JDK_11_PATH>

    Por ejemplo:

    [root@iZxxxZ lib]# export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.25.0.9-2.0.1.1.al8.x86_64
    [root@iZxxxZ lib]# echo $JAVA_HOME
    /usr/lib/jvm/java-11-openjdk-11.0.25.0.9-2.0.1.1.al8.x86_64

Información de autorización

Control de acceso de RAM

A continuación se muestra una tabla que detalla la información de autorización de cada API. Utilice esta información en el elemento Action de una instrucción de política de Resource Access Management (RAM) para otorgar a un usuario o rol de RAM los permisos necesarios para llamar a estas API.

Columna

Descripción

Operation

El permiso específico.

Access level

El nivel de acceso: Write, Read o List.

Resource type

El tipo de recurso que admite autorización. Un asterisco (\*) indica que el tipo de recurso es obligatorio. En las operaciones que no admiten autorización a nivel de recurso, el valor es All resources.

Condition key

Las claves de condición definidas por el producto en la nube.

Associated operation

Otros permisos necesarios para ejecutar correctamente la operación.

Operation

Access level

Resource type

Condition key

Associated operation

dlf:Consulte la API específica

Consulte la API específica

\*All resources

Ninguna

Ninguna

Las actualizaciones del control de acceso de RAM suelen tardar aproximadamente un minuto en surtir efecto.

Gestión de permisos ACL

Para obtener más información, consulte Authorization management.

Comandos de roles

list - Lista de roles

Obtiene una lista con todos los nombres de roles. Admite paginación y filtros.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ListRoles

get

All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--max_results

integer

No

Número máximo de resultados que se devuelven por página. Si omite este parámetro, se utiliza el valor predeterminado del sistema.

--page_token

string

No

Token de paginación que se usa para obtener la siguiente página de resultados. Omítalo en la primera solicitud. Para las solicitudes posteriores, utilice el token de la respuesta anterior.

--role_name

string

No

Filtra los resultados por nombre de rol. Admite coincidencias aproximadas.

Ejemplo

./dlf-cli/bin/dlf role list

Resultado

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 - Obtener un rol

Obtiene los detalles de un rol específico mediante su principal de rol.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:GetRole

get

*All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--role_principal

String

Sí

Principal del rol que lo identifica de forma única.

Ejemplo

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

Respuesta:

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"
  }]
}

Crear un rol

Crea un rol nuevo. Permite especificar un nombre de rol, un nombre para mostrar y una descripción.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:CreateRole

create

all resources

*

Ninguna

Ninguna

Sintaxis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--role_name

string

Sí

Identificador único del rol.

--display_name

string

Sí

Nombre para mostrar del rol que aparece en la interfaz de usuario.

--description

string

No

Descripción del propósito o alcance de permisos del rol.

Ejemplo

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

Salida

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

alter - Actualizar un rol

Actualiza el nombre para mostrar o la descripción de un rol específico.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:UpdateRole

update

All resources

*

Ninguna

Ninguna

Sintaxis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--role_principal

string

Sí

Identificador principal del rol que se va a actualizar.

--display_name

string

Sí

Nuevo nombre para mostrar del rol.

--description

string

No

Nueva descripción del rol donde se detalla su propósito o alcance de permisos.

Ejemplo

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

Salida

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

drop: Eliminar un rol

Elimina el rol especificado.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated actions

dlf:DeleteRole

delete

*All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--role_principal

String

Sí

Principal que identifica de forma única al rol.

Ejemplo

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

Salida

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

list_users - Listar usuarios asociados a un rol

Obtiene una lista paginada de los usuarios asociados a un rol específico.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ListRoleUsers

get

*All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--role_principal

String

Sí

Principal del rol que identifica de forma única al rol de destino.

--max_results

Integer

No

Número máximo de resultados que se devuelven por página. Si omite este parámetro, el sistema utiliza un valor predeterminado.

--page_token

String

No

Token que indica la siguiente página de resultados. Omítalo para obtener la primera página. En las páginas posteriores, utilice el valor nextPageToken de la respuesta anterior.

Ejemplo

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

Salida

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"
  } ]
}

Asignar un rol a usuarios

Asigna un rol a uno o más usuarios.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:GrantRoleToUsers

create

*All resources

*

Ninguna

Ninguna

Sintaxis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--role_principal

string

Sí

Principal único del rol de destino.

--user_principals

string

Sí

Cadena que contiene una matriz JSON de principales de usuario. Por ejemplo, '["user1","user2","user3"]'.

Ejemplo

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

Salida

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

Revocar usuarios de un rol

Desasocia los usuarios especificados de un rol.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:RevokeRoleFromUsers

*All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--role_principal

string

Sí

Principal que identifica de forma única al rol de destino.

--user_principals

string

Sí

Cadena que contiene una matriz JSON de principales de usuario. Por ejemplo: '["user1","user2","user3"]'.

Ejemplo

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

Salida

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

Comandos de usuarios

list

Enumera los usuarios. Permite filtrar la lista según criterios como el nombre o el tipo de usuario. Este comando admite paginación.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ListUsers

get

*All resources

*

Ninguna

Ninguna

Sintaxis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--user_name

String

No

Filtra los resultados por nombre de usuario. Admite coincidencias aproximadas.

--user_type

String

No

Filtra los resultados por tipo de usuario, como RAM_USER o RAM_ROLE.

--max_results

Integer

No

Número máximo de resultados que se devuelven por página. Si se omite, el sistema utiliza un valor predeterminado.

--page_token

String

No

Token de paginación de una respuesta anterior para obtener la siguiente página de resultados. Omítalo en la primera solicitud.

Ejemplo

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

Salida

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

Enumera los roles asociados a un usuario específico.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ListUserRoles

get

*All resources

*

Ninguna

Ninguna

Sintaxis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--user_principal

String

Sí

Principal del usuario de destino.

--max_results

Integer

No

Número máximo de resultados que se devuelven por página. Si se omite, el sistema utiliza un valor predeterminado.

--page_token

String

No

Token de paginación de una respuesta anterior para obtener la siguiente página de resultados. Omítalo en la primera solicitud.

Ejemplo

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

Salida

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
  }]
}

Comandos de permisos

list - Enumerar permisos

Enumera los permisos de un tipo de recurso específico. Permite filtrar los resultados por criterios como el tipo de recurso (por ejemplo, catalog, database o table) y otras condiciones. Además, el comando admite paginación.

Control de acceso de RAM

Operation

Access level

Resource type

Condition key

Associated operation

dlf:ListPermissions

get

*All resources

*

Ninguna

Ninguna

Sintaxis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

Nombre del catálogo que contiene los permisos.

--resource_type

String

Sí

Tipo de recurso por el cual filtrar. Los valores válidos son catalog, database, table, function y view.

--database

String

No

Nombre de la base de datos. Este parámetro solo es obligatorio si resource_type es database o uno de sus subrecursos.

--table

String

No

Nombre de la tabla. Este parámetro solo es obligatorio si resource_type es table o uno de sus subrecursos.

--principal

String

No

Principal (usuario o rol) por el cual filtrar los permisos.

--max_results

Integer

No

Número máximo de resultados que se devuelven por página. De forma predeterminada, se aplica el valor del sistema.

--page_token

String

No

Token de paginación para obtener la siguiente página de resultados. Omítalo en la primera llamada. En las llamadas posteriores, utilice el token de la respuesta anterior.

Ejemplo

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

Salida

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 - Otorgar permisos

Otorga permisos a un principal específico (usuario o rol).

Control de acceso de RAM

Operation

Access level

Resource type

Condition key

Associated operation

dlf:BatchGrantPermissions

create

*All resources

*

Ninguna

Ninguna

Sintaxis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

Nombre del catálogo que contiene los permisos.

--permissions

Cadena JSON

Sí

Matriz JSON de objetos de permiso. Cada objeto especifica un permiso por otorgar e incluye el tipo de acceso (access), el nombre de la base de datos (database), el principal (principal) y el tipo de recurso (resourceType). Para obtener más información, consulte Permission.

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

Ejemplo

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

Salida

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

revoke - Revocar permisos

Revoca los permisos de recursos de un principal específico (usuario o rol).

RAM access control

Operación

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:BatchRevokePermissions

delete

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

./dlf-cli/bin/dlf permission revoke \
--catalog <catalogName>  \
--permissions '<json_array>'

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

El nombre del catálogo que contiene los permisos.

--permissions

JSON string

Sí

Una matriz JSON de objetos de permiso. Cada objeto especifica un permiso por revocar e incluye detalles como el principal, el tipo de recurso, el nombre del recurso y el tipo de acceso.

Ejemplo

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

Salida

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

Catalog commands

help - Listar comandos de catálogo compatibles

./dlf-cli/bin/dlf catalog help

list - Listar catálogos

Lista todos los catálogos. Este comando es compatible con la paginación.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:ListCatalogs

get

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--max_results

Integer

No

Número máximo de resultados que se devuelven por página. Si se omite, se utiliza el valor predeterminado.

--page_token

String

No

El token para recuperar la siguiente página de resultados. Para obtener la primera página, no especifique este parámetro. En las solicitudes posteriores, utilice el valor nextPageToken de la respuesta anterior.

Ejemplo

./dlf-cli/bin/dlf catalog list

Respuesta

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 - Obtener detalles de un catálogo

Obtiene los detalles del catálogo especificado.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:GetCatalog

get

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

El nombre del catálogo que desea obtener.

Ejemplo

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

Respuesta

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 - Crear un catálogo

Crea un catálogo nuevo con el nombre y las opciones especificados.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:CreateCatalog

create

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

El nombre del catálogo que desea crear.

--options

JSON string

Sí

Las opciones de configuración del catálogo, proporcionadas como una cadena JSON. Estas opciones pueden incluir propiedades como un comentario.

Ejemplo

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

Respuesta

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

alter - Actualizar un catálogo

Actualiza las propiedades de un catálogo específico.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:AlterCatalog

update

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

El nombre del catálogo que desea actualizar.

--removals

JSON string

No

Una lista de nombres de propiedades por eliminar, proporcionada como una matriz JSON (por ejemplo, '["key1", "key2"]').

--updates

JSON string

No

Las propiedades y sus nuevos valores por agregar o actualizar, proporcionados como un objeto JSON (por ejemplo, '{"key1": "value1"}').

Ejemplo

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

Respuesta

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

drop - Eliminar un catálogo

A continuación se muestran las condiciones que deben cumplirse; de lo contrario, la operación de eliminación fallará:

  • Se eliminaron todas las tablas y bases de datos creadas por el usuario en el catálogo.

  • Transcurrieron como mínimo 24 horas desde que se eliminaron las tablas y las bases de datos.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:DropCatalog

delete

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

El nombre del catálogo que desea eliminar.

Ejemplo

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

Respuesta

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

get_token - Obtener credenciales de acceso temporales

Recupera unas credenciales de acceso temporales para el catálogo especificado.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:GetCatalogToken

get

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

String

Sí

El nombre del catálogo para el cual desea obtener un token.

Ejemplo

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

Respuesta

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 commands

help - Listar comandos de base de datos

./dlf-cli/bin/dlf database help

list - Listar bases de datos

Lista los nombres de las bases de datos de un catálogo específico. Este comando es compatible con la paginación.

RAM access control

Operación

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:ListDatabases

List

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

string

Sí

El nombre del catálogo.

--max_results

integer

No

El número máximo de resultados que se devuelven por página. Si no se especifica, se utiliza el valor predeterminado del sistema.

--page_token

string

No

El token de paginación. Omita este parámetro en la primera solicitud. En las solicitudes posteriores, utilice el valor nextPageToken de la respuesta anterior para recuperar la siguiente página de resultados.

Ejemplo

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

Salida

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

get - Obtener detalles de una base de datos

Obtiene los detalles de una base de datos específica.

RAM access control

Operación

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:GetDatabase

Read

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la base de datos, con el formato <catalogName>.<databaseName>.

Ejemplo

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

Salida

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 - Crear una base de datos

Crea una base de datos.

RAM access control

Operación

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:CreateDatabase

Write

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la nueva base de datos, con el formato <catalogName>.<databaseName>.

--options

JSON string

Sí

Las propiedades de configuración de la base de datos, especificadas como una cadena JSON. Estas propiedades pueden incluir la ubicación de almacenamiento y la descripción.

Ejemplo

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

Salida

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

alter - Actualizar propiedades de una base de datos

Actualiza las propiedades de una base de datos específica.

RAM access control

Operación

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:AlterDatabase

Write

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la base de datos, con el formato <catalogName>.<databaseName>.

--removals

JSON string

No

Una matriz JSON con las claves de las propiedades por eliminar. Por ejemplo: '["key1", "key2"]'.

--updates

JSON string

No

Un objeto JSON con los pares clave-valor por agregar o actualizar. Por ejemplo: '{"key1": "value1"}'.

Ejemplo

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

Salida

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

drop - Eliminar una base de datos

Elimina una base de datos específica.

RAM access control

Operación

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:DropDatabase

Write

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la base de datos por eliminar, con el formato <catalogName>.<databaseName>.

Ejemplo

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

Salida

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

Table commands

help - Listar subcomandos de tabla

./dlf-cli/bin/dlf table help

list - Listar tablas

Lista los nombres de las tablas de una base de datos específica. Esta operación es compatible con la paginación.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:ListTables

list

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

string

Sí

El nombre del catálogo.

--database

string

Sí

El nombre de la base de datos.

--max_results

integer

No

El número máximo de resultados que se devuelven por página. Si no se especifica este parámetro, se utiliza un valor predeterminado.

--page_token

string

No

El token que se usa para recuperar la siguiente página de resultados. Deje este parámetro vacío en la primera llamada. En las llamadas posteriores, utilice el token de la respuesta anterior.

Ejemplo

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

Salida

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

get - Obtener una tabla

Obtiene los detalles de una tabla específica.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:GetTable

get

*Todos los recursos

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

String

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

Ejemplo

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

Salida:

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 - Crear una tabla

Crea una tabla nueva.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:CreateTable

create

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

--schema

JSON string

Sí

El esquema de la tabla, especificado como una cadena JSON. Incluye propiedades como campos, tipos, claves de partición y claves primarias.

Ejemplo

./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" }'

Salida

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

alter - Actualizar propiedades de una tabla

Actualiza las propiedades de una tabla específica.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:AlterTable

*Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

--changes

JSON string

Sí

Una matriz JSON de operaciones de cambio. Cada operación especifica una action (como setOption o updateComment) y sus parámetros correspondientes.

Ejemplo

./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" }]'

Salida

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

drop - Eliminar una tabla

Elimina la tabla especificada.

RAM access control

Acciones

Nivel de acceso

Tipo de recurso

Clave de condición

Operación asociada

dlf:DropTable

delete

Todos los recursos

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la tabla por eliminar, con el formato <catalogName>.<databaseName>.<tableName>.

Ejemplo

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

Salida

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

get_snapshot - Obtener la instantánea de una tabla

Recupera la instantánea más reciente de la tabla especificada.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:GetTableSnapshot

get

All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

String

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

Ejemplo

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

Salida

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

Revierte la tabla especificada a una versión anterior de la instantánea.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:RollbackTable

*All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

--instant

string

Sí

La instantánea de destino para la reversión, especificada como una cadena JSON. Para obtener más información sobre el objeto JSON, consulte Instant.

Ejemplo

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

Salida

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

list_branches - Listar los nombres de las ramas

Muestra los nombres de las ramas de la tabla especificada.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated actions

dlf:ListBranches

*All resources

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

String

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

Ejemplo

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

Salida

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

create_branch - Crear una rama

Crea una nueva rama para la tabla especificada.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:CreateBranch

create

*All resources

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

String

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

--branch

String

Sí

El nombre de la nueva rama.

--from_tag

String

No

Especifica la etiqueta de origen para la nueva rama. Si se omite este parámetro, la rama se crea a partir de la rama principal actual.

Ejemplo

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

Salida

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

forward_branch - Avance rápido de una rama

Aplica un avance rápido a la rama de la tabla especificada para llevarla a su estado más reciente.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ForwardBranch

create

All resources

*

Ninguna

Ninguna

Uso

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la tabla de destino, con el formato <catalogName>.<databaseName>.<tableName>.

--branch

string

Sí

El nombre de la rama de destino a la que se aplicará el avance rápido.

Ejemplo

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

Salida

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

drop_branch

Elimina la rama especificada de una tabla.

Control de acceso de RAM

Operation

Access level

Resource type

Condition key

Associated operation

dlf:DropBranch

*All resources

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--full_name

string

Sí

El nombre completo de la tabla, con el formato <catalogName>.<databaseName>.<tableName>.

--branch

string

Sí

La rama que se va a eliminar.

Ejemplo

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

Salida

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

Comando de particiones

Listar particiones

Enumera las particiones.

Control de acceso de RAM

Actions

Access level

Resource type

Condition key

Associated actions

dlf:ListPartitions

list

*All resources

*

Ninguna

Ninguna

Sinopsis

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

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

--catalog

string

Sí

El nombre del catálogo de destino.

--identifier

string

Sí

El identificador único de la tabla de destino, con el formato <databaseName>.<tableName>.

--max_results

integer

No

El número máximo de resultados que se devuelven por página. Si se omite, se utiliza el valor predeterminado del sistema.

--page_token

string

No

El token para recuperar la siguiente página de resultados. Omita este parámetro en la primera solicitud. En las solicitudes posteriores, utilice el valor nextPageToken de la respuesta anterior.

Ejemplo

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

Resultado

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