Tous les produits
Search
Centre de documentation

Data Lake Formation:Référence CLI

Dernière mise à jour :Aug 11, 2026

Ce document explique comment installer, configurer et utiliser le CLI DLF pour gérer efficacement les données dans DLF.

Prérequis

Votre instance ECS doit répondre aux exigences suivantes :

  • Les instances ECS et DLF doivent se trouver dans la même région. Pour obtenir la liste des régions prises en charge, consultez Régions et endpoints.

  • L'instance ECS doit appartenir à un VPC autorisé pour DLF. Si l'autorisation n'est pas configurée, reportez-vous à Configurer une liste d'autorisation VPC.

  • JDK 11 ou version ultérieure doit être installé sur l'instance ECS.

Installation

  1. Téléchargez le fichier dlf-cli-20250818163820.tar.gz.

  2. Utilisez la commande scp pour transférer l'archive tar vers un répertoire de destination sur votre instance ECS.

    scp dlf-cli-20250818163820.tar.gz username@ecs-ip:/path/to/destination
  3. Connectez-vous à votre instance ECS, accédez au répertoire de destination, puis exécutez la commande suivante pour extraire l'archive.

    tar -xzvf dlf-cli-20250818163820.tar.gz
  4. Utilisez la commande vim pour modifier le fichier de configuration dlf-cli/conf/dlf-cli.properties et configurez les paramètres suivants.

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

    Paramètre

    Description

    Exemple

    uri

    URI du serveur REST Catalog de DLF. Le format est http://[region-id]-vpc.dlf.aliyuncs.com. Pour plus d'informations sur l'ID de région, consultez Régions et endpoints.

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

    dlf.region

    ID de la région. Pour plus d'informations, consultez Régions et endpoints.

    cn-hangzhou

    dlf.access-key-id

    AccessKey ID de votre compte Alibaba Cloud ou de votre utilisateur RAM.

    Remarque

    L'utilisateur RAM ou le rôle RAM doit disposer des permissions API requises. Pour plus d'informations, consultez Référence des actions d'autorisation RAM.

    -

    dlf.access-key-secret

    AccessKey Secret de votre compte Alibaba Cloud ou de votre utilisateur RAM.

    -

    dlf.open-api-endpoint

    Endpoint OpenAPI de DLF. Pour plus d'informations, consultez Endpoints.

    Si ce paramètre reste vide, sa valeur est déduite du paramètre uri.

    dlfnext.cn-hangzhou.aliyuncs.com

  5. (Facultatif) Exécutez la commande echo $JAVA_HOME pour vérifier la variable d'environnement JAVA_HOME. Si la sortie est vide ou si la variable ne pointe pas vers le chemin d'installation de JDK 11, reconfigurez la variable JAVA_HOME.

    export JAVA_HOME=<JDK_11_PATH>

    Par exemple :

    [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

Informations d'autorisation

Contrôle d'accès RAM

Le tableau suivant décrit les informations d'autorisation pour chaque API. Utilisez ces informations dans l'élément Action d'une instruction de politique Resource Access Management (RAM) afin d'accorder à un utilisateur RAM ou à un rôle RAM les permissions nécessaires pour appeler ces API.

Colonne Description
Opération Permission spécifique concernée.
Niveau d'accès Niveau d'accès : Write, Read ou List.
Type de resource Type de resource prenant en charge l'autorisation. Un astérisque (\*) indique un type de resource obligatoire. Pour les opérations qui ne prennent pas en charge l'autorisation au niveau des resources, la valeur est All resources.
Clé de condition Clés de condition définies par le produit cloud.
Opération associée Autres permissions requises pour exécuter l'opération avec succès.
Opération Niveau d'accès Type de resource Clé de condition Opération associée
dlf : Voir l'API spécifique Voir l'API spécifique \*All resources Aucune Aucune

Les mises à jour du contrôle d'accès RAM prennent généralement effet en une minute environ.

Gestion des permissions ACL

Pour plus d'informations, consultez Gestion des autorisations.

Commandes de rôle

list - Liste des rôles

Récupère la liste de tous les noms de rôles, avec prise en charge de la pagination et du filtrage.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:ListRoles

get

All resources

*

Aucune

Aucune

Utilisation

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

Paramètres

Paramètre

Type

Obligatoire

Description

--max_results

integer

Non

Nombre maximal de résultats à retourner par page. En l'absence de ce paramètre, la valeur par défaut du système s'applique.

--page_token

string

Non

Jeton de pagination permettant de récupérer la page de résultats suivante. Omettez ce paramètre pour la première requête. Pour les requêtes suivantes, utilisez le jeton obtenu dans la réponse précédente.

--role_name

string

Non

Filtre les résultats par nom de rôle. La correspondance approximative est prise en charge.

Exemple

./dlf-cli/bin/dlf role list

Résultat

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 - Obtenir un rôle

Récupère les détails d'un rôle spécifié à partir de son principal de rôle.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:GetRole

get

*All resources

*

Aucune

Aucune

Utilisation

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

Paramètres

Paramètre

Type

Obligatoire

Description

--role_principal

String

Oui

Principal du rôle, identifiant unique de celui-ci.

Exemple

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

Réponse :

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

Créer un rôle

Crée un nouveau rôle. Vous avez la possibilité de spécifier un nom de rôle, un nom d'affichage et une description.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:CreateRole

create

all resources

*

Aucune

Aucune

Synopsis

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

Paramètres

Paramètre

Type

Obligatoire

Description

--role_name

string

Oui

Identifiant unique du rôle.

--display_name

string

Oui

Nom d'affichage du rôle, visible dans l'interface utilisateur.

--description

string

Non

Description indiquant l'objectif du rôle ou son périmètre de permissions.

Exemple

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

Sortie

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

alter - Mettre à jour un rôle

Met à jour le nom d'affichage ou la description d'un rôle spécifié.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:UpdateRole

update

All resources

*

Aucune

Aucune

Synopsis

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

Paramètres

Paramètre

Type

Obligatoire

Description

--role_principal

string

Oui

Identifiant du principal du rôle à mettre à jour.

--display_name

string

Oui

Nouveau nom d'affichage du rôle.

--description

string

Non

Nouvelle description du rôle, précisant son objectif ou son périmètre de permissions.

Exemple

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

Sortie

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

drop : Supprimer un rôle

Supprime le rôle spécifié.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Actions associées

dlf:DeleteRole

delete

*All resources

*

Aucune

Aucune

Utilisation

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

Paramètres

Paramètre

Type

Obligatoire

Description

--role_principal

String

Oui

Principal identifiant de manière unique le rôle.

Exemple

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

Sortie

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

list_users - Lister les utilisateurs associés à un rôle

Récupère une liste paginée des utilisateurs associés à un rôle spécifié.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:ListRoleUsers

get

*All resources

*

Aucune

Aucune

Utilisation

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

Paramètres

Paramètre

Type

Obligatoire

Description

--role_principal

String

Oui

Principal du rôle identifiant de manière unique le rôle cible.

--max_results

Integer

Non

Nombre maximal de résultats à retourner par page. En l'absence de ce paramètre, le système applique une valeur par défaut.

--page_token

String

Non

Jeton indiquant la prochaine page de résultats à retourner. Omettez ce paramètre pour récupérer la première page. Pour les pages suivantes, utilisez la valeur nextPageToken issue de la réponse précédente.

Exemple

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

Sortie

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

Accorder un rôle à des utilisateurs

Accorde un rôle à un ou plusieurs utilisateurs.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:GrantRoleToUsers

create

*All resources

*

Aucune

Aucune

Synopsis

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

Paramètres

Paramètre

Type

Obligatoire

Description

--role_principal

string

Oui

Principal unique du rôle cible.

--user_principals

string

Oui

Chaîne contenant un tableau JSON de principaux d'utilisateurs. Par exemple, '["user1","user2","user3"]'.

Exemple

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

Sortie

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

Révoquer des utilisateurs d'un rôle

Dissocie les utilisateurs spécifiés d'un rôle.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:RevokeRoleFromUsers

*All resources

*

Aucune

Aucune

Utilisation

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

Paramètres

Paramètre

Type

Obligatoire

Description

--role_principal

string

Oui

Principal identifiant de manière unique le rôle cible.

--user_principals

string

Oui

Chaîne contenant un tableau JSON de principaux d'utilisateurs. Par exemple : '["user1","user2","user3"]'.

Exemple

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

Sortie

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

Commandes utilisateur

list

Liste les utilisateurs. Il est possible de filtrer cette liste selon divers critères tels que le nom d'utilisateur ou le type d'utilisateur. Cette commande prend en charge la pagination.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:ListUsers

get

*All resources

*

Aucune

Aucune

Synopsis

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

Paramètres

Paramètre

Type

Obligatoire

Description

--user_name

String

Non

Filtre les résultats par nom d'utilisateur. La correspondance approximative est prise en charge.

--user_type

String

Non

Filtre les résultats par type d'utilisateur, par exemple RAM_USER ou RAM_ROLE.

--max_results

Integer

Non

Nombre maximal de résultats à retourner par page. Si ce paramètre est omis, le système applique une valeur par défaut.

--page_token

String

Non

Jeton de pagination issu d'une réponse précédente, permettant de récupérer la page de résultats suivante. Omettez ce paramètre pour la première requête.

Exemple

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

Sortie

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

Liste les rôles associés à un utilisateur spécifié.

Contrôle d'accès RAM

Actions

Niveau d'accès

Type de resource

Clé de condition

Opération associée

dlf:ListUserRoles

get

*All resources

*

Aucune

Aucune

Synopsis

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

Paramètres

Paramètre

Type

Obligatoire

Description

--user_principal

String

Oui

Principal de l'utilisateur cible.

--max_results

Integer

Non

Nombre maximal de résultats à retourner par page. Si ce paramètre est omis, le système applique une valeur par défaut.

--page_token

String

Non

Jeton de pagination issu d'une réponse précédente, permettant de récupérer la page de résultats suivante. Omettez ce paramètre pour la première requête.

Exemple

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

Sortie

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

Commandes de permission

list - Répertorier les permissions

Répertorie les permissions pour un type de resource spécifié. Vous pouvez filtrer les résultats selon divers critères, tels que le type de resource (par exemple, catalog, database ou table) et d'autres conditions. Cette commande prend également en charge la pagination.

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:ListPermissions

get

*All resources

*

None

None

Synopsis

./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>] 

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog contenant les permissions.

--resource_type

String

Yes

Type de resource servant de filtre. Les valeurs valides sont catalog, database, table, function et view.

--database

String

No

Nom de la base de données. Ce paramètre est requis uniquement si le resource_type est database ou l'une de ses sous-resources.

--table

String

No

Nom de la table. Ce paramètre est requis uniquement si le resource_type est table ou l'une de ses sous-resources.

--principal

String

No

Principal (utilisateur ou rôle) sur lequel filtrer les permissions.

--max_results

Integer

No

Nombre maximal de résultats à retourner par page. La valeur par défaut du système s'applique si ce paramètre est omis.

--page_token

String

No

Jeton de pagination permettant de récupérer la page de résultats suivante. Omettez ce paramètre lors du premier appel. Pour les appels suivants, utilisez le jeton obtenu dans la réponse précédente.

Exemple

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

Sortie

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 - Accorder des permissions

Accorde des permissions à un principal spécifié (utilisateur ou rôle).

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:BatchGrantPermissions

create

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog contenant les permissions.

--permissions

JSON string

Yes

Tableau JSON d'objets de permission. Chaque objet définit une permission à accorder et inclut le type d'accès (access), le nom de la base de données (database), le principal (principal) ainsi que le type de resource (resourceType). Pour plus d'informations, consultez Permission.

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

Exemple

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

Sortie

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

revoke - Révoquer des permissions

Révoque les permissions sur une resource pour un principal spécifié (utilisateur ou rôle).

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:BatchRevokePermissions

delete

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog contenant les permissions.

--permissions

JSON string

Yes

Tableau JSON d'objets de permission. Chaque objet désigne une permission à révoquer et comprend des détails tels que le principal, le type de resource, le nom de la resource et le type d'accès.

Exemple

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

Sortie

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

Catalog commands

help - Répertorier les commandes de catalog prises en charge

./dlf-cli/bin/dlf catalog help

list - Répertorier les catalogs

Répertorie tous les catalogs. La pagination est prise en charge.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ListCatalogs

get

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--max_results

Integer

No

Nombre maximal de résultats à retourner par page. La valeur par défaut s'applique en cas d'omission.

--page_token

String

No

Jeton permettant de récupérer la page de résultats suivante. Ne spécifiez pas ce paramètre pour obtenir la première page. Pour les requêtes ultérieures, utilisez la valeur nextPageToken issue de la réponse précédente.

Exemple

./dlf-cli/bin/dlf catalog list

Réponse

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 - Obtenir les détails d'un catalog

Récupère les détails du catalog spécifié.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:GetCatalog

get

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog à récupérer.

Exemple

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

Réponse

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 - Créer un catalog

Crée un catalog avec le nom et les options spécifiés.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:CreateCatalog

create

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog à créer.

--options

JSON string

Yes

Options de configuration du catalog, fournies sous forme de chaîne JSON. Ces options peuvent inclure des propriétés telles qu'un commentaire.

Exemple

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

Réponse

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

alter - Mettre à jour un catalog

Met à jour les propriétés d'un catalog spécifié.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:AlterCatalog

update

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog à mettre à jour.

--removals

JSON string

No

Liste des noms de propriétés à supprimer, fournie sous forme de tableau JSON (par exemple, '["key1", "key2"]').

--updates

JSON string

No

Propriétés et nouvelles valeurs à ajouter ou modifier, fournies sous forme d'objet JSON (par exemple, '{"key1": "value1"}').

Exemple

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

Réponse

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

drop - Supprimer un catalog

Les conditions suivantes doivent être remplies, faute de quoi l'opération de suppression échoue :

  • Toutes les tables et bases de données créées par l'utilisateur dans le catalog ont été supprimées.

  • Au moins 24 heures se sont écoulées depuis la suppression des tables et bases de données.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:DropCatalog

delete

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog à supprimer.

Exemple

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

Réponse

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

get_token - Obtenir un identifiant d'accès temporaire

Récupère un identifiant d'accès temporaire pour le catalog spécifié.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:GetCatalogToken

get

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--catalog

String

Yes

Nom du catalog pour lequel récupérer un jeton.

Exemple

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

Réponse

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 - Répertorier les commandes de base de données

./dlf-cli/bin/dlf database help

list - Répertorier les bases de données

Répertorie les noms des bases de données d'un catalog spécifié. Cette commande prend en charge la pagination.

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:ListDatabases

List

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--catalog

string

Yes

Nom du catalog.

--max_results

integer

No

Nombre maximal de résultats à retourner par page. La valeur par défaut du système s'applique si ce paramètre n'est pas spécifié.

--page_token

string

No

Jeton de pagination. Omettez ce paramètre pour la première requête. Pour les requêtes suivantes, utilisez la valeur nextPageToken de la réponse précédente afin d'obtenir la page de résultats suivante.

Exemple

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

Sortie

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

get - Obtenir les détails d'une base de données

Récupère les détails d'une base de données spécifiée.

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:GetDatabase

Read

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la base de données, au format <catalogName>.<databaseName>.

Exemple

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

Sortie

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 - Créer une base de données

Crée une base de données.

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:CreateDatabase

Write

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la nouvelle base de données, au format <catalogName>.<databaseName>.

--options

JSON string

Yes

Propriétés de configuration de la base de données, spécifiées sous forme de chaîne JSON. Ces propriétés peuvent inclure l'emplacement de stockage et une description.

Exemple

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

Sortie

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

alter - Mettre à jour les propriétés d'une base de données

Met à jour les propriétés d'une base de données spécifiée.

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:AlterDatabase

Write

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la base de données, au format <catalogName>.<databaseName>.

--removals

JSON string

No

Tableau JSON contenant les clés des propriétés à supprimer. Exemple : '["key1", "key2"]'.

--updates

JSON string

No

Objet JSON contenant les paires clé-valeur à ajouter ou mettre à jour. Exemple : '{"key1": "value1"}'.

Exemple

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

Sortie

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

drop - Supprimer une base de données

Supprime la base de données spécifiée.

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:DropDatabase

Write

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la base de données à supprimer, au format <catalogName>.<databaseName>.

Exemple

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

Sortie

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

Table commands

help - Lister les sous-commandes de table

./dlf-cli/bin/dlf table help

list - Lister les tables

Répertorie les noms des tables d'une base de données donnée. Cette opération prend en charge la pagination.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ListTables

list

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--catalog

string

Yes

Nom du catalog.

--database

string

Yes

Nom de la base de données.

--max_results

integer

No

Nombre maximal de résultats à retourner par page. Une valeur par défaut s'applique si ce paramètre n'est pas spécifié.

--page_token

string

No

Jeton permettant de récupérer la page de résultats suivante. Laissez ce paramètre vide lors du premier appel. Pour les appels suivants, utilisez le jeton obtenu dans la réponse précédente.

Exemple

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

Sortie

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

get - Obtenir une table

Récupère les détails d'une table spécifique.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:GetTable

get

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--full_name

String

Yes

Nom complet de la table au format <catalogName>.<databaseName>.<tableName>.

Exemple

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

Sortie :

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 - Créer une table

Crée une nouvelle table.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:CreateTable

create

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la table au format <catalogName>.<databaseName>.<tableName>.

--schema

JSON string

Yes

Schéma de la table, fourni sous forme de chaîne JSON. Il inclut des propriétés telles que les champs, les types, les clés de partition et les clés primaires.

Exemple

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

Sortie

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

alter - Mettre à jour les propriétés d'une table

Met à jour les propriétés d'une table donnée.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:AlterTable

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la table au format <catalogName>.<databaseName>.<tableName>.

--changes

JSON string

Yes

Tableau JSON d'opérations de modification. Chaque opération définit une action (telle que setOption ou updateComment) ainsi que ses paramètres correspondants.

Exemple

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

Sortie

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

drop - Supprimer une table

Supprime la table indiquée.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:DropTable

delete

All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la table à supprimer, au format <catalogName>.<databaseName>.<tableName>.

Exemple

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

Sortie

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

get_snapshot - Obtenir un snapshot de table

Récupère le dernier snapshot d'une table donnée.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:GetTableSnapshot

get

All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--full_name

String

Yes

Nom complet de la table au format <catalogName>.<databaseName>.<tableName>.

Exemple

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

Sortie

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

Restaure une table donnée à une version de snapshot antérieure.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:RollbackTable

*All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la table au format <catalogName>.<databaseName>.<tableName>.

--instant

string

Yes

Snapshot cible pour la restauration, spécifié sous forme de chaîne JSON. Pour plus de détails sur l'objet JSON, consultez Instant.

Exemple

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

Sortie

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

list_branches - Lister les noms de branches

Répertorie les noms de branches d'une table donnée.

RAM access control

Actions

Access level

Resource type

Condition key

Associated actions

dlf:ListBranches

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

String

Yes

Nom complet de la table au format <catalogName>.<databaseName>.<tableName>.

Exemple

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

Sortie

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

create_branch - Créer une branche

Crée une nouvelle branche pour une table donnée.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:CreateBranch

create

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

String

Yes

Nom complet de la table au format <catalogName>.<databaseName>.<tableName>.

--branch

String

Yes

Nom de la nouvelle branche.

--from_tag

String

No

Définit le tag source de la nouvelle branche. Si ce paramètre est omis, la branche est créée à partir de la branche principale actuelle.

Exemple

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

Sortie

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

forward_branch - Avance rapide d'une branche

Effectue une avance rapide d'une branche vers son état le plus récent pour une table donnée.

RAM access control

Actions

Access level

Resource type

Condition key

Associated operation

dlf:ForwardBranch

create

All resources

*

None

None

Utilisation

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la table cible au format <catalogName>.<databaseName>.<tableName>.

--branch

string

Yes

Nom de la branche cible à mettre à jour par avance rapide.

Exemple

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

Sortie

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

drop_branch

Supprime une branche spécifique d'une table.

RAM access control

Operation

Access level

Resource type

Condition key

Associated operation

dlf:DropBranch

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--full_name

string

Yes

Nom complet de la table, au format <catalogName>.<databaseName>.<tableName>.

--branch

string

Yes

Branche à supprimer.

Exemple

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

Sortie

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

Partition command

Lister les partitions

Répertorie les partitions.

RAM access control

Actions

Access level

Resource type

Condition key

Associated actions

dlf:ListPartitions

list

*All resources

*

None

None

Synopsis

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

Paramètres

Parameter

Type

Required

Description

--catalog

string

Yes

Nom du catalog cible.

--identifier

string

Yes

Identifiant unique de la table cible, au format <databaseName>.<tableName>.

--max_results

integer

No

Nombre maximal de résultats à retourner par page. La valeur par défaut du système s'applique en cas d'omission.

--page_token

string

No

Jeton permettant de récupérer la page de résultats suivante. Omettez ce paramètre pour la première requête. Pour les requêtes suivantes, utilisez la valeur nextPageToken issue de la réponse précédente.

Exemple

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

Résultat

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