es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Opciones de almacenamiento de Azure para ofrecer contenido en Azure Web App

Soy un traductor de documentos de TI que traduce a español. No traduzcas el código y la salida en formato Markdown.

Soy alguien completamente nuevo en Azure WebApps y almacenamiento, necesito alguna aclaración/confirmación. Lo principal a tener en cuenta, mi aplicación (descrita a continuación) requiere una jerarquía de carpetas. Blob no es una opción y el recurso compartido de archivos no permite el acceso anónimo a menos que use una firma de acceso compartido (SAS).

¿Estoy entendiendo correctamente el almacenamiento de Azure, es o te adaptas al modelo de almacenamiento de Azure o no te adaptas?

¿Alguien puede aconsejarme cómo puedo lograr lo que se requiere para la aplicación CMS, tal como se describe a continuación, utilizando Blobs?

La única opción que veo es encontrar una forma de modificar la aplicación CMS para que siempre tenga la SAS en la URL de cada archivo que solicita desde el almacenamiento con el fin de servir contenido en mi aplicación web. En ese caso, ¿es un problema si configuro mi SAS para que expire en algún momento en el futuro lejano?

https://nombredeaplicacion.file.core.windows.net/instancia1/sitio1/archivo1.jpg?strong>SAS

Problema con el uso de Blob

Hasta ahora, entiendo que el almacenamiento de Blob no permite “subcarpetas” ya que es un contenedor que almacena datos no estructurados, por lo tanto, no puedo utilizarlo según mi aplicación (descrita a continuación) ya que requiere una estructura de carpetas.

El problema con el uso de File Share

El recurso compartido de archivos parecía perfecto ya que permite una jerarquía de carpetas, naturalmente eso es lo que he usado.

Sin embargo, no se permite el acceso anónimo a los archivos almacenados en el almacenamiento de archivos, el acceso debe estar autorizado. Una forma de autorizar el acceso es crear una SAS en un nivel de archivo/compartido con permiso de lectura y luego usar esa URL de SAS para acceder al archivo.

https://stackoverflow.com/questions/35045880/cannot-access-windows-azure-file-storage-document/35046177#35046177

Mi aplicación

He creado una aplicación CMS de código abierto que se ejecuta en un Linux Web App. Esta aplicación permite crear múltiples sitios web, y todo su contenido como imágenes, documentos y multimedia se almacena en un servidor de archivos. Estos archivos luego se sirven al sitio web a través de una URL definida.

La aplicación CMS permite configurar la ubicación donde se deben guardar los archivos, que sería una carpeta en el servidor de archivos. Luego crea una nueva subcarpeta para cada sitio que aloja en esa ubicación.

Jerarquía de carpetas de ejemplo:

/instancia1
/sitio1
/archivo1
/archivo2
/sitio2
/archivo1
/archivo2

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Tienes razón en entender que Azure Storage sigue un modelo y estructura específicos. El almacenamiento de Blob no es adecuado para tu aplicación, ya que no admite jerarquía de carpetas. El uso de File Share es una mejor opción, ya que permite una estructura de carpetas, pero requiere autorización para el acceso a través de URL de firma de acceso compartido (SAS).

    Parece que la única opción para utilizar el almacenamiento de Blob en tu aplicación sería modificar el CMS para que siempre incluya un SAS en la URL de cada archivo que solicita. Esto se puede configurar para que caduque en un futuro lejano si así lo deseas. Sin embargo, File Share es una mejor opción para tu caso de uso específico, ya que admite la jerarquía de carpetas que tu CMS requiere. Solo ten en cuenta que deberás configurar la autorización a través de URLs de SAS para acceder a los archivos almacenados en File Share.

Comments are closed.