Pregunta

Como crear un subdirectorio en un envase burbuja

por ejemplo,

en mi contenedor de blob http://veda.blob.core.windows.net/document /

Si puedo almacenar algunos archivos será

  

http://veda.blob.core.windows.net/document/ 1.txt

     

http://veda.blob.core.windows.net/document/ 2.txt

Ahora, cómo crear un subdirectorio

  

http://veda.blob.core.windows.net/document/folder /

Para que pueda almacenar archivos

  

http://veda.blob.core.windows.net/ documento / carpeta / 1.txt

¿Fue útil?

Solución

Para añadir a lo que dijo Egon, sólo tiene que crear su burbuja llamada "carpeta / 1.txt", y funcionará. No es necesario crear un directorio.

Otros consejos

En realidad, hay sólo una única capa de recipientes. Prácticamente puede crear un "sistema de archivos" como el almacenamiento en capas, pero en realidad todo lo que estará en la capa 1, el contenedor en el que se encuentra.

Para crear un "sistema de archivos" virtual como el almacenamiento, puede tener nombres blob que contienen una '/' para que pueda hacer lo que quiera con la forma en que almacena. Además, la gran cosa es que se puede buscar una burbuja en un nivel virtual, dando una cadena parcial, hasta un '/'.

Estas 2 cosas, la adición de un '/' a un camino y una cadena parcial para la búsqueda, juntos crean un "sistema de archivos" de almacenamiento virtual.

Hay un comentario de @ afr0 preguntando cómo filtro en carpetas ..

Hay dos maneras utilizando el GetDirectoryReference o de bucle a través de un contenedores manchas y comprobación del tipo. El código siguiente es en C #

CloudBlobContainer container = blobClient.GetContainerReference("photos");

//Method 1. grab a folder reference directly from the container
CloudBlobDirectory folder = container.GetDirectoryReference("directoryName");

//Method 2. Loop over container and grab folders.
foreach (IListBlobItem item in container.ListBlobs(null, false))
{
    if (item.GetType() == typeof(CloudBlobDirectory))
    {
        // we know this is a sub directory now
        CloudBlobDirectory subFolder = (CloudBlobDirectory)item;

        Console.WriteLine("Directory: {0}", subFolder.Uri);
    }
}

leer esto por más cobertura a fondo: http://www.codeproject.com/Articles/297052/Azure-Storage-Blobs-Service-Working-with-Directori

En Azure Portal que tiene por debajo, mientras que la opción de carga de archivos:

 introducir descripción de la imagen aquí

Si utiliza Microsoft Azure Storage Explorador , hay un botón de "Nueva carpeta", que le permite crear una carpeta en un recipiente. Esto es realmente una carpeta virtual:

introducir descripción de la imagen aquí

Como @Egon se mencionó anteriormente, no hay gestión de carpetas reales en el almacenamiento BLOB.

Se puede lograr algunas de las características de un sistema de archivos con '/' en el nombre del archivo, pero esto tiene muchas limitaciones (por ejemplo, ¿qué pasaría si necesita cambiar el nombre de una "carpeta"?).

Como regla general, me gustaría mantener mis archivos lo más plana posible en un recipiente, y tienen mi solicitud gestionar cualquier estructura Quiero exponer a los usuarios finales (por ejemplo, administrar una carpeta anidada estructura en mi base de datos , tener un registro para cada archivo, haciendo referencia al BLOB utilizando contenedor nombre y el nombre de archivo).

No se necesita crear subdirectorio. Basta con crear envase burbuja y el nombre de archivo de uso como la variable nombre de la siguiente código:

string filename = "document/tech/user-guide.pdf";
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(ConnectionString);
CloudBlockBlob blob = cloudBlobContainer.GetBlockBlobReference(filename);
blob.StreamWriteSizeInBytes = 20 * 1024;
blob.UploadFromStream(fileStream); // fileStream is System.IO.Stream

Así es como lo hago en CoffeeScript en Node.JS:

blobService.createBlockBlobFromText 'containerName', (path + '$$$.$$$'), '', (err, result)->
    if err
        console.log 'failed to create path', err
    else
        console.log 'created path', path, result

Got problema similar al intentar Azure muestra primera aplicación sin servidor-.
Aquí está la información de cómo he resuelto mediante la eliminación de \ en la parte delantera de $ web.

Nota: $ contenedor web se crea automáticamente, mientras que permitirá sitio web estático. Nunca visto en cualquier lugar $ contenedor raíz.

//getting Invalid URI error while following tutorial as-is
az storage blob upload-batch -s . -d \$web --account-name firststgaccount01

//Remove "\" @destination param
az storage blob upload-batch -s . -d $web --account-name firststgaccount01
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top