Comment créer un sous-conteneur dans l'emplacement de stockage azure.Comment créer un sous-conteneur dans l'emplacement de stockage azure
Veuillez nous le faire savoir
Comment créer un sous-conteneur dans l'emplacement de stockage azure.Comment créer un sous-conteneur dans l'emplacement de stockage azure
Veuillez nous le faire savoir
Windows Azure ne fournit pas le concept des conteneurs hiérarchiques, mais il fournit un mécanisme permettant de parcourir la hiérarchie par convention et API. Tous les conteneurs sont stockés au même niveau. Vous pouvez obtenir une fonctionnalité similaire en utilisant des conventions de dénomination pour vos noms de blob.
Par exemple, vous pouvez créer un conteneur nommé « contenu » et créer des blobs avec les noms suivants dans ce conteneur:
content/blue/images/logo.jpg
content/blue/images/icon-start.jpg
content/blue/images/icon-stop.jpg
content/red/images/logo.jpg
content/red/images/icon-start.jpg
content/red/images/icon-stop.jpg
Notez que ces blobs sont une liste à plat contre votre conteneur « contenu » . Cela dit, en utilisant le "/" comme un délimiteur conventionnel, vous offre la fonctionnalité de les traverser de manière hiérarchique.
protected IEnumerable<IListBlobItem>
GetDirectoryList(string directoryName, string subDirectoryName)
{
CloudStorageAccount account =
CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
CloudBlobClient client =
account.CreateCloudBlobClient();
CloudBlobDirectory directory =
client.GetBlobDirectoryReference(directoryName);
CloudBlobDirectory subDirectory =
directory.GetSubdirectory(subDirectoryName);
return subDirectory.ListBlobs();
}
Vous pouvez ensuite appeler cela comme suit:
GetDirectoryList("content/blue", "images")
Remarque l'utilisation de GetBlobDirectoryReference et GetSubDirectory méthodes et la CloudBlobDirectory de type au lieu de CloudBlobContainer. Ceux-ci fournissent la fonctionnalité de traversée que vous recherchez probablement.
Cela devrait vous aider à démarrer. Permettez-moi de savoir si cela ne répond pas à votre question:
[Merci à Neil Mackenzie inspiration]
Faites-vous référence au stockage BLOB? Si c'est le cas, la hiérarchie est simplement StorageAccount/Container/BlobName. Il n'y a pas de conteneurs imbriqués. Cela dit, vous pouvez utiliser des barres obliques dans votre nom de blob pour simuler des conteneurs imbriqués dans l'URI. Voir this article on MSDN pour les détails de dénomination.
J'aggree avec réponse tobint et je veux ajouter quelque chose à cette situation parce que je aussi j'ai besoin de la même façon le téléchargement mes jeux html à Azure Storage avec créer ce répertoire:
donc après votre recommande j'ai essayé de télécharger mon contenu avec l'outil qui est Azure Storage Explorer et que vous pouvez télécharger l'outil et le code source avec cette url: Azure Storage Explorer
d'abord tout ce que j'ai essayé de télécharger via l'outil Mais il ne permet pas le téléchargement de répertoire hiérarchique parce que vous n'avez pas besoin: How to create sub directory in a blob container
Enfin, je débogue le code source Azure Storage Explorer et j'ai modifié la méthode Background_UploadBlobs et le champ UploadFileList dans le fichier StorageAccountViewModel.cs. Vous pouvez éditer ce que vous voulez. J'ai peut-être fait des fautes d'orthographe:/Je suis vraiment désolé mais c'est seulement mon conseil.
Exemple de code
string myfolder = "<folderName>";
string myfilename = "<fileName>";
string fileName = String.Format("{0}/{1}.csv", myfolder, myfilename);
CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
S'il vous plaît être conscient que la version SDK 2.0 le bit 'GetBlobDirectoryReference' ne fonctionne pas. Au lieu de cela, nous pouvons utiliser les éléments suivants: 'conteneur CloudBlobContainer = cloudBlobClient.GetContainerReference (directoryName)' ' CloudBlobDirectory = Sous-répertoire container.GetDirectoryReference (subDirectoryName);' etc ... – Knelis
Y at-il une implémentation PHP de ce concept? –
Est-il supposé être 'cloudBlobClient' ou' client' dans vos appels de fonction? – juunas