Cómo crear un contenedor secundario en la ubicación de almacenamiento azul.Cómo crear un contenedor secundario en una ubicación de almacenamiento azul
favor háganoslo saber
Cómo crear un contenedor secundario en la ubicación de almacenamiento azul.Cómo crear un contenedor secundario en una ubicación de almacenamiento azul
favor háganoslo saber
Windows Azure no proporciona el concepto de contenedores jerárquicos, pero proporciona un mecanismo para atravesar la jerarquía por convención y API. Todos los contenedores se almacenan en el mismo nivel. Puede obtener una funcionalidad similar mediante el uso de convenciones de nomenclatura para sus nombres de blob.
Por ejemplo, puede crear un contenedor llamado "contenido" y crear burbujas con los siguientes nombres de ese contenedor:
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
Nota que estas manchas son una lista plana contra su contenedor "contenido" . Dicho esto, usar el "/" como un delimitador convencional, le proporciona la funcionalidad para atravesar estos de forma jerárquica.
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();
}
A continuación, puede llamar a esto de la siguiente manera:
GetDirectoryList("content/blue", "images")
Nota el uso de GetBlobDirectoryReference y GetSubDirectory métodos y el tipo CloudBlobDirectory en lugar de CloudBlobContainer. Estos proporcionan la funcionalidad transversal que probablemente esté buscando.
Esto debería ayudarlo a comenzar. Hágamelo saber si esto no responde a su pregunta:
[Gracias a Neil Mackenzie en busca de inspiración]
¿Se refiere al almacenamiento de blob? Si es así, la jerarquía es simplemente StorageAccount/Container/BlobName. No hay contenedores anidados.
Dicho esto, puede usar barras en el nombre de su blob para simular contenedores anidados en el URI. Ver this article on MSDN para nombrar detalles.
I aggree con la respuesta tobint y quiero añadir algo a esta situación porque yo también necesito la misma forma de subida mis juegos html a Azure de almacenamiento con crear este directorios:
Así Después de su recomienda Traté de subir mi contenido con la herramienta que es Azure Storage Explorer y se puede descargar la herramienta y el código fuente con esta url: Azure Storage Explorer
En primer lugar he intentado subir a través de la herramienta pero no permite la carga de directorios jerárquica porque no necesita: How to create sub directory in a blob container
Finalmente, depuro el código fuente de Azure Storage Explorer y edité el método Background_UploadBlobs y el campo UploadFileList en el archivo StorageAccountViewModel.cs. Puedes editarlo como quieras. Pude haber cometido errores ortográficos:/Lo siento mucho, pero eso es solo mi recomendación.
Código de ejemplo
string myfolder = "<folderName>";
string myfilename = "<fileName>";
string fileName = String.Format("{0}/{1}.csv", myfolder, myfilename);
CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
Tenga en cuenta que a partir de la versión 2.0 del SDK del 'poco GetBlobDirectoryReference' no funciona. En su lugar, podemos usar lo siguiente: 'CloudBlobContainer container = cloudBlobClient.GetContainerReference (directoryName);' 'CloudBlobDirectory subDirectory = container.GetDirectoryReference (subDirectoryName);' etc ... – Knelis
¿Existe una implementación PHP de este concepto? –
¿Se supone que es 'cloudBlobClient' o' client' en tus llamadas a funciones? – juunas