Tous les produits
Search
Centre de documentation

MaxCompute:Opérations sur les volumes externes

Dernière mise à jour :Aug 10, 2026

Un volume externe est un système de fichiers distribué et une solution de stockage de données non structurées fourni par MaxCompute. Il associe un répertoire OSS à un projet MaxCompute, ce qui permet d'interroger et de traiter directement les fichiers stockés dans Object Storage Service (OSS), sans importer les données dans des tables MaxCompute. Cette approche réduit la redondance des données et les frais de transmission.

Opérations courantes

Opération Description Utilisateurs autorisés
Créer un volume externe Crée un volume externe dans un projet Propriétaire du volume externe ; propriétaire du projet ; utilisateurs disposant du rôle Super_Administrator ou Admin
Lister les volumes externes et afficher la structure des répertoires Répertorie tous les volumes externes ou affiche la structure des répertoires d'un volume spécifique
Supprimer un volume externe Supprime un volume externe

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Le client MaxCompute (odpscmd) version 0.43.0 ou ultérieure. Pour les instructions d'installation, consultez la rubrique Client MaxCompute (odpscmd).

    Pour exécuter des commandes sur la page DataStudio ou la page SQL Query de la console DataWorks, le client MaxCompute intégré doit être en version 0.43.2 ou ultérieure. Exécutez la commande Show version; pour vérifier la version. Pour plus d'informations, reportez-vous à la documentation Use MaxCompute in DataWorks .
  • Le SDK for Java en version 0.43.0 ou ultérieure, si vous utilisez le SDK Java.

  • Un compte Alibaba Cloud ou un utilisateur RAM disposant des autorisations d'accès à OSS. Pour les étapes d'autorisation, consultez la rubrique Autorisation STS pour OSS.

Créer un volume externe

Syntaxe

vfs -create <volume_name>
    -storage_provider oss
    -url <oss://oss_endpoint/bucket_name/directory_name>
    [-acd <true|false>]
    -role_arn <arn:aliyun:xxx/aliyunodpsdefaultrole>

Les paramètres entre crochets [ ] sont facultatifs.

Paramètre Obligatoire Description
volume_name Oui Nom du volume externe à créer.
storage_provider Oui Fournisseur de stockage. Définissez la valeur sur oss. OSS est le seul fournisseur pris en charge.
url Oui Répertoire OSS où sont stockés les fichiers de données. Format : oss://<oss_endpoint>/<bucket_name>/<directory_name>. Le nom du bucket et le nom du répertoire de second niveau sont obligatoires. Consultez les notes ci-dessous pour connaître les exigences relatives au endpoint.
acd Non Indique s'il faut créer automatiquement le répertoire OSS s'il n'existe pas. Valeur par défaut : false. Consultez les notes ci-dessous pour plus de détails sur le comportement.
role_arn Oui Nom de ressource Alibaba Cloud (ARN) du rôle RAM disposant des autorisations d'accès à OSS. Pour obtenir l'ARN, consultez la rubrique Utiliser les informations d'identification temporaires fournies par STS pour accéder à OSS.

Remarques concernant le paramètre url :

  • Utilisez un endpoint interne OSS pour éviter des frais supplémentaires liés au trafic Internet, par exemple : oss://oss-cn-beijing-internal.aliyuncs.com/my-bucket/my-dir. Pour obtenir la liste complète des endpoints internes, consultez la rubrique Régions et endpoints.

  • Déployez le bucket OSS dans la même région que votre projet MaxCompute afin d'éviter les problèmes de connectivité interrégionale.

Remarques concernant le paramètre acd :

  • false (valeur par défaut) : si le répertoire spécifié n'existe pas, la commande échoue et renvoie une erreur.

  • true : si le répertoire n'existe pas, MaxCompute le crée automatiquement en utilisant les autorisations accordées via role_arn. Si le répertoire existe déjà, MaxCompute l'utilise directement.

Important

Lorsque acd est défini sur true et que le répertoire est créé automatiquement, MaxCompute ne supprime pas le répertoire si la création du volume externe échoue ensuite.

Une fois le volume externe créé, son chemin suit le format odps://<project_name>/<volume_name>. Ce chemin peut être utilisé par le moteur Spark et les tâches MapReduce.

Exemple

Créez un volume externe nommé test_ext_l :

vfs -create test_ext_l -storage_provider oss -url oss://oss-cn-hangzhou-internal.aliyuncs.com/test/ex_volume/ -role_arn acs:ram::xxxxxxx:role/aliyunodpsdefaultrole;

Lister les volumes externes et afficher la structure des répertoires

Syntaxe

-- List all external volumes in the project
vfs -ls /;

-- View the directory structure of a specific external volume
vfs -ls [-R] /<volume_name>;
Paramètre Obligatoire Description
volume_name Oui Nom du volume externe.
-R Non Liste récursivement les sous-répertoires.

Exemples

Lister tous les volumes externes :

vfs -ls /;

Résultat attendu :

Found 2 items
drwxrwxrwx - 0 2023-03-11 12:06 /test_ext_l -> oss://oss-cn-shanghai-internal.aliyuncs.com/test/ex_volume
drwxrwxrwx - 0 2023-03-21 07:33 /myfirst_volume4 -> oss://oss-cn-shanghai-internal.aliyuncs.com/paristech/data
Les volumes externes auxquels vous n'avez pas accès ne s'affichent pas dans le résultat. Pour accorder l'accès à un utilisateur, exécutez la commande suivante. Les autorisations disponibles sont Read, Write et CreateVolume.
grant Read on volume myfirst_volume4 to RAM$xxxxxx:dev01;

Afficher la structure des répertoires de test_ext_l :

vfs -ls -R /test_ext_l;

Résultat attendu :

drwxrwxrwx - 0 2023-03-27 07:31 /test_ext_l/test -> oss://oss-cn-hangzhou-internal.aliyuncs.com/test/ex_volume/test

Supprimer un volume externe

Syntaxe

-- Syntax 1
vfs -rm -r /<volume_name>;

-- Syntax 2
vfs -rmv /<volume_name>;
Paramètre Obligatoire Description
volume_name Oui Nom du volume externe à supprimer.

Exemple

Supprimez le volume externe nommé test_ext_l :

vfs -rm -r /test_ext_l;

Étapes suivantes