Tous les produits
Search
Centre de documentation

Object Storage Service:Use hierarchical namespace

Dernière mise à jour :Aug 18, 2026

Le namespace hiérarchique organise les objets dans une arborescence de répertoires. Il permet des opérations atomiques de renommage de répertoires et d'objets sans lister tous les objets partageant un même préfixe. Contrairement au namespace plat par défaut qui simule les répertoires à l'aide de barres obliques (/), le namespace hiérarchique améliore considérablement les performances de gestion des répertoires.

Avantages

  • Opérations atomiques sur les répertoires

    Dans un namespace plat, les applications doivent parfois traiter des millions d'objets pour une seule tâche au niveau du répertoire. Avec le namespace hiérarchique, la mise à jour d'un répertoire parent est une opération atomique unique qui exécute simultanément plusieurs tâches au niveau du répertoire.

  • Performances optimisées

    Le namespace hiérarchique élimine la nécessité de répliquer ou de convertir les données avant leur analyse, ce qui améliore les performances de gestion des répertoires. Cet aspect est crucial pour les frameworks Big Data tels que Hive et Spark, qui écrivent les résultats dans des répertoires temporaires puis les renomment une fois la tâche terminée. Dans un namespace plat, le renommage prend souvent plus de temps que la tâche elle-même.

Procédure

  1. Activez le namespace hiérarchique.

    Vous ne pouvez activer le namespace hiérarchique qu'à la création du bucket. Vous ne pouvez pas le désactiver par la suite. Pour plus d'informations, consultez Créer un bucket.

  2. Gérez les répertoires dans un bucket utilisant le namespace hiérarchique.

    Le tableau suivant présente les méthodes de gestion des répertoires dans un bucket utilisant le namespace hiérarchique.

    Méthode d'implémentation

    Description

    Console OSS

    Console de gestion web

    SDK Java

    Exemples de code SDK pour les opérations sur les répertoires

Remarques d'utilisation

  • Régions prises en charge

    Le namespace hiérarchique est disponible uniquement dans les régions suivantes : États-Unis (Silicon Valley), Japon (Tokyo), Royaume-Uni (Londres) et Malaisie (Kuala Lumpur).

  • Création de répertoires

    Un nom de répertoire ne peut pas contenir de barres obliques (/) consécutives.

    Vous ne pouvez pas écrire de données directement dans les répertoires. La valeur Content-Length d'un répertoire doit être définie sur 0.

    La valeur Content-Type d'un répertoire doit être définie sur application/x-directory.

  • Renommage d'un répertoire ou d'un objet

    Un répertoire ou un objet renommé ne peut pas porter le même nom qu'un répertoire ou un objet existant dans le même bucket.

    Le répertoire parent du chemin de destination doit exister. Par exemple, pour renommer un répertoire en destfolder/examplefolder/test, le répertoire parent destfolder/examplefolder doit exister dans le bucket.

  • Suppression de répertoires

    • Suppression récursive

      Supprime un répertoire ainsi que tous ses objets et sous-répertoires. Cette opération nécessite l'autorisation DeleteObject sur le répertoire et sur tout son contenu.

      Par exemple, pour supprimer de manière récursive dest/testfolder, vous devez disposer de l'autorisation DeleteObject sur dest/testfolder et dest/testfolder/*.

      Important

      Si une requête d'écriture concurrente cible un répertoire pendant sa suppression récursive, l'opération de suppression peut échouer.

    • Suppression non récursive

      Supprime uniquement les répertoires vides. Cette opération nécessite l'autorisation DeleteObject sur le répertoire cible.

Fonctionnalités non prises en charge

Le tableau suivant présente les fonctionnalités non prises en charge par les buckets utilisant le namespace hiérarchique.

Catégorie

Description

Fonctionnalités de bucket

  • Réplication entre régions (CRR)

  • Versioning

  • Inventaire de bucket

  • Partage de ressources cross-origin (CORS)

  • Hébergement de site web statique

  • Règles de cycle de vie

  • Politiques de rétention

  • Accélération de transfert

Fonctionnalités d'objet

  • Liens symboliques

  • Upload par ajout (Append upload)

  • Liste de contrôle d'accès (ACL) et tagging

  • Traitement d'image (IMG)

  • Objets Archive et Cold Archive

  • Callback

  • L'opération RestoreObject

  • L'en-tête x-oss-forbid-overwrite

  • Le paramètre response-content-* dans les requêtes GetObject pour les répertoires

  • Opérations LiveChannel

  • L'opération DeleteMultipleObjects

  • L'opération SelectObject