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
Téléchargez le fichier dlf-cli-20250818163820.tar.gz.
-
Utilisez la commande
scppour 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 -
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 -
Utilisez la commande
vimpour modifier le fichier de configurationdlf-cli/conf/dlf-cli.propertieset configurez les paramètres suivants.vim dlf-cli/conf/dlf-cli.propertiesParamètre
Description
Exemple
uriURI 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.regionID de la région. Pour plus d'informations, consultez Régions et endpoints.
cn-hangzhou
dlf.access-key-idAccessKey ID de votre compte Alibaba Cloud ou de votre utilisateur RAM.
RemarqueL'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-secretAccessKey Secret de votre compte Alibaba Cloud ou de votre utilisateur RAM.
-
dlf.open-api-endpointEndpoint 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
-
(Facultatif) Exécutez la commande
echo $JAVA_HOMEpour vérifier la variable d'environnementJAVA_HOME. Si la sortie est vide ou si la variable ne pointe pas vers le chemin d'installation de JDK 11, reconfigurez la variableJAVA_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 |
|
|
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. |
|
|
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. |
|
|
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 |
|
|
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 |
|
|
string |
Oui |
Identifiant unique du rôle. |
|
|
string |
Oui |
Nom d'affichage du rôle, visible dans l'interface utilisateur. |
|
|
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 |
|
|
string |
Oui |
Identifiant du principal du rôle à mettre à jour. |
|
|
string |
Oui |
Nouveau nom d'affichage du rôle. |
|
|
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 |
|
|
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 |
|
|
String |
Oui |
Principal du rôle identifiant de manière unique le rôle cible. |
|
|
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. |
|
|
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 |
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 |
|
|
string |
Oui |
Principal unique du rôle cible. |
|
|
string |
Oui |
Chaîne contenant un tableau JSON de principaux d'utilisateurs. Par exemple, |
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 |
|
|
string |
Oui |
Principal identifiant de manière unique le rôle cible. |
|
|
string |
Oui |
Chaîne contenant un tableau JSON de principaux d'utilisateurs. Par exemple : |
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 |
|
|
String |
Non |
Filtre les résultats par nom d'utilisateur. La correspondance approximative est prise en charge. |
|
|
String |
Non |
Filtre les résultats par type d'utilisateur, par exemple |
|
|
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. |
|
|
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 |
|
|
String |
Oui |
Principal de l'utilisateur cible. |
|
|
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. |
|
|
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 |
|
|
String |
Yes |
Nom du catalog contenant les permissions. |
|
|
String |
Yes |
Type de resource servant de filtre. Les valeurs valides sont |
|
|
String |
No |
Nom de la base de données. Ce paramètre est requis uniquement si le |
|
|
String |
No |
Nom de la table. Ce paramètre est requis uniquement si le |
|
|
String |
No |
Principal (utilisateur ou rôle) sur lequel filtrer les permissions. |
|
|
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. |
|
|
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 |
|
|
String |
Yes |
Nom du catalog contenant les 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 |
|
|
String |
Yes |
Nom du catalog contenant les 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 |
|
|
Integer |
No |
Nombre maximal de résultats à retourner par page. La valeur par défaut s'applique en cas d'omission. |
|
|
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 |
|
|
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 |
|
|
String |
Yes |
Nom du catalog à créer. |
|
|
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 |
|
|
String |
Yes |
Nom du catalog à mettre à jour. |
|
|
JSON string |
No |
Liste des noms de propriétés à supprimer, fournie sous forme de tableau JSON (par exemple, |
|
|
JSON string |
No |
Propriétés et nouvelles valeurs à ajouter ou modifier, fournies sous forme d'objet JSON (par exemple, |
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 |
|
|
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 |
|
|
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 |
|
|
string |
Yes |
Nom du catalog. |
|
|
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é. |
|
|
string |
No |
Jeton de pagination. Omettez ce paramètre pour la première requête. Pour les requêtes suivantes, utilisez la valeur |
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 |
|
|
string |
Yes |
Nom complet de la base de données, au format |
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 |
|
|
string |
Yes |
Nom complet de la nouvelle base de données, au format |
|
|
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 |
|
|
string |
Yes |
Nom complet de la base de données, au format |
|
|
JSON string |
No |
Tableau JSON contenant les clés des propriétés à supprimer. Exemple : |
|
|
JSON string |
No |
Objet JSON contenant les paires clé-valeur à ajouter ou mettre à jour. Exemple : |
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 |
|
|
string |
Yes |
Nom complet de la base de données à supprimer, au format |
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 |
|
|
string |
Yes |
Nom du catalog. |
|
|
string |
Yes |
Nom de la base de données. |
|
|
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é. |
|
|
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 |
|
|
String |
Yes |
Nom complet de la table au format |
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 |
|
|
string |
Yes |
Nom complet de la table au format |
|
|
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 |
|
|
string |
Yes |
Nom complet de la table au format |
|
|
JSON string |
Yes |
Tableau JSON d'opérations de modification. Chaque opération définit une |
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 |
|
|
string |
Yes |
Nom complet de la table à supprimer, au format |
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 |
|
|
String |
Yes |
Nom complet de la table au format |
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 |
|
|
string |
Yes |
Nom complet de la table au format |
|
|
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 |
|
|
String |
Yes |
Nom complet de la table au format |
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 |
|
|
String |
Yes |
Nom complet de la table au format |
|
|
String |
Yes |
Nom de la nouvelle branche. |
|
|
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 |
|
|
string |
Yes |
Nom complet de la table cible au format |
|
|
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 |
|
|
string |
Yes |
Nom complet de la table, au format |
|
|
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 |
|
|
string |
Yes |
Nom du catalog cible. |
|
|
string |
Yes |
Identifiant unique de la table cible, au format |
|
|
integer |
No |
Nombre maximal de résultats à retourner par page. La valeur par défaut du système s'applique en cas d'omission. |
|
|
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
}