2016-03-24 5 views
0

J'ai un compte Azure cloud blob storage & J'ai besoin d'énumérer son contenu. Le compte a une grande quantité de données & en utilisant ListBlobs pour énumérer tout son contenu prend beaucoup de temps à compléter..NET Azure Blob Storage: Obtenir des répertoires de niveau racine sans liste Tous les Blobs

Pour les deux répertoires de cloud &, je souhaite pouvoir énumérer uniquement les éléments de niveau racine. Pour un conteneur, je suppose que cela va énumérer les blobs niveau racine:

cloudBlobContainer.ListBlobs(
      String.Empty, 
      false, 
      BlobListingDetails.None, 
      null, 
      null)) 

est-il un moyen raisonnable pour obtenir des répertoires de niveau racine, sans énumérer tous les blobs? La seule façon de le faire est absurde: faire des appels à ListBlob avec toutes les combinaisons possibles, un préfixe blob pourrait être.

+0

Avez-vous déjà essayé ce code? Il aura aussi des "répertoires" au niveau de la racine. – forester123

+0

Le problème est que je dois parcourir une collection d'objets blob cloud pour déterminer lesquels sont des répertoires cloud. Je veux être en mesure de construire une arborescence de répertoires sans passer par chaque objet blob. –

Répondre

1

Zachary, il n'existe malheureusement pas de "répertoire" dans Azure Blob Storage. La hiérarchie d'objets est la suivante:

  • Stockage compte (plan de gestion)
    • Conteneur [0..n] (plan de données)
      • Blobs [0..n] (données avion) ​​

Quand vous voyez plus fo barres obliques dans les noms blob, il s'agit uniquement d'un répertoire "virtuel" et non d'une entité de répertoire distincte.

https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/

+0

J'ai lu à propos de la structure du répertoire virtuel. Pour faire ce que je voulais, je pense à écrire le répertoire virtuel en tant que métadonnées de conteneur. –