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
Descargue el archivo dlf-cli-20250818163820.tar.gz.
-
Use el comando
scppara 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 -
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 -
Use el comando
vimpara editar el archivo de configuracióndlf-cli/conf/dlf-cli.propertiesy configure los siguientes parámetros.vim dlf-cli/conf/dlf-cli.propertiesParámetro
Descripción
Ejemplo
uriEl 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.regionEl identificador de la región. Para obtener más información, consulte Regions and endpoints.
cn-hangzhou
dlf.access-key-idEl AccessKey ID de su cuenta de Alibaba Cloud o usuario de RAM.
NotaEl 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-secretEl AccessKey Secret de su cuenta de Alibaba Cloud o usuario de RAM.
-
dlf.open-api-endpointEl 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
-
(Opcional) Ejecute el comando
echo $JAVA_HOMEpara comprobar la variable de entornoJAVA_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 variableJAVA_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 |
|
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 |
|
|
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. |
|
|
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. |
|
|
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 |
|
|
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 |
|
|
string |
Sí |
Identificador único del rol. |
|
|
string |
Sí |
Nombre para mostrar del rol que aparece en la interfaz de usuario. |
|
|
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 |
|
|
string |
Sí |
Identificador principal del rol que se va a actualizar. |
|
|
string |
Sí |
Nuevo nombre para mostrar del rol. |
|
|
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 |
|
|
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 |
|
|
String |
Sí |
Principal del rol que identifica de forma única al rol de destino. |
|
|
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. |
|
|
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 |
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 |
|
|
string |
Sí |
Principal único del rol de destino. |
|
|
string |
Sí |
Cadena que contiene una matriz JSON de principales de usuario. Por ejemplo, |
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 |
|
|
string |
Sí |
Principal que identifica de forma única al rol de destino. |
|
|
string |
Sí |
Cadena que contiene una matriz JSON de principales de usuario. Por ejemplo: |
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 |
|
|
String |
No |
Filtra los resultados por nombre de usuario. Admite coincidencias aproximadas. |
|
|
String |
No |
Filtra los resultados por tipo de usuario, como |
|
|
Integer |
No |
Número máximo de resultados que se devuelven por página. Si se omite, el sistema utiliza un valor predeterminado. |
|
|
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 |
|
|
String |
Sí |
Principal del usuario de destino. |
|
|
Integer |
No |
Número máximo de resultados que se devuelven por página. Si se omite, el sistema utiliza un valor predeterminado. |
|
|
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 |
|
|
String |
Sí |
Nombre del catálogo que contiene los permisos. |
|
|
String |
Sí |
Tipo de recurso por el cual filtrar. Los valores válidos son |
|
|
String |
No |
Nombre de la base de datos. Este parámetro solo es obligatorio si |
|
|
String |
No |
Nombre de la tabla. Este parámetro solo es obligatorio si |
|
|
String |
No |
Principal (usuario o rol) por el cual filtrar los permisos. |
|
|
Integer |
No |
Número máximo de resultados que se devuelven por página. De forma predeterminada, se aplica el valor del sistema. |
|
|
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 |
|
|
String |
Sí |
Nombre del catálogo que contiene los permisos. |
|
|
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 |
|
|
String |
Sí |
El nombre del catálogo que contiene los permisos. |
|
|
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 |
|
|
Integer |
No |
Número máximo de resultados que se devuelven por página. Si se omite, se utiliza el valor predeterminado. |
|
|
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 |
|
|
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 |
|
|
String |
Sí |
El nombre del catálogo que desea crear. |
|
|
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 |
|
|
String |
Sí |
El nombre del catálogo que desea actualizar. |
|
|
JSON string |
No |
Una lista de nombres de propiedades por eliminar, proporcionada como una matriz JSON (por ejemplo, |
|
|
JSON string |
No |
Las propiedades y sus nuevos valores por agregar o actualizar, proporcionados como un objeto JSON (por ejemplo, |
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 |
|
|
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 |
|
|
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 |
|
|
string |
Sí |
El nombre del catálogo. |
|
|
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. |
|
|
string |
No |
El token de paginación. Omita este parámetro en la primera solicitud. En las solicitudes posteriores, utilice el valor |
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 |
|
|
string |
Sí |
El nombre completo de la base de datos, con el formato |
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 |
|
|
string |
Sí |
El nombre completo de la nueva base de datos, con el formato |
|
|
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 |
|
|
string |
Sí |
El nombre completo de la base de datos, con el formato |
|
|
JSON string |
No |
Una matriz JSON con las claves de las propiedades por eliminar. Por ejemplo: |
|
|
JSON string |
No |
Un objeto JSON con los pares clave-valor por agregar o actualizar. Por ejemplo: |
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 |
|
|
string |
Sí |
El nombre completo de la base de datos por eliminar, con el formato |
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 |
|
|
string |
Sí |
El nombre del catálogo. |
|
|
string |
Sí |
El nombre de la base de datos. |
|
|
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. |
|
|
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 |
|
|
String |
Sí |
El nombre completo de la tabla, con el formato |
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 |
|
|
string |
Sí |
El nombre completo de la tabla, con el formato |
|
|
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 |
|
|
string |
Sí |
El nombre completo de la tabla, con el formato |
|
|
JSON string |
Sí |
Una matriz JSON de operaciones de cambio. Cada operación especifica una |
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 |
|
|
string |
Sí |
El nombre completo de la tabla por eliminar, con el formato |
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 |
|
|
String |
Sí |
El nombre completo de la tabla, con el formato |
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 |
|
|
string |
Sí |
El nombre completo de la tabla, con el formato |
|
|
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 |
|
|
String |
Sí |
El nombre completo de la tabla, con el formato |
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 |
|
|
String |
Sí |
El nombre completo de la tabla, con el formato |
|
|
String |
Sí |
El nombre de la nueva rama. |
|
|
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 |
|
|
string |
Sí |
El nombre completo de la tabla de destino, con el formato |
|
|
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 |
|
|
string |
Sí |
El nombre completo de la tabla, con el formato |
|
|
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 |
|
|
string |
Sí |
El nombre del catálogo de destino. |
|
|
string |
Sí |
El identificador único de la tabla de destino, con el formato |
|
|
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. |
|
|
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
}