Puede que en algún momento necesites una solución económica pero eficiente para almacenar tus archivos, pero ¿dónde encontrar esa solución? ¡Consulta el almacenamiento de Objeto Binario Grande (blob) de Microsoft Azure! El almacenamiento de blobs es uno de los servicios de almacenamiento de Azure y te permite almacenar grandes cantidades de archivos de datos de texto y binarios, contenido en streaming o incluso contenido estático para su distribución.
En este tutorial, aprenderás a trabajar con el almacenamiento de blobs en Azure a través de algunos ejemplos comunes.
Sigue leyendo para sumergirte en ello.
Prerrequisitos
Este tutorial será una demostración práctica. Si quieres seguirlo, asegúrate de tener lo siguiente instalado y disponible.
- PowerShell 7 instalado.
- Módulo Az PowerShell instalado en tu entorno de PowerShell 7.
- Ejecutable AzCopy descargado y accesible.
- Suscripción de Azure – Hay varias formas de utilizar recursos específicos de Azure con poco o ningún costo.
Construcción de un entorno Azure
Antes de utilizar el almacenamiento de blobs para almacenar tus archivos, primero deberás importar los módulos de PowerShell Core, conectarte con tu suscripción de Azure y construir un entorno Azure.
1. Inicia PowerShell 7 y ejecuta el siguiente comando para importar los módulos que usarás para almacenar archivos en el almacenamiento de blobs.

2. A continuación, inicia sesión en tu inquilino de Azure Active Directory (AD), luego ejecuta el siguiente comando para completar una autenticación interactiva en tu navegador web, como se muestra a continuación.
Aunque más allá del alcance de este tutorial, existen otros métodos de autenticación, como un Service Principal o el uso de un token de acceso.

Asegúrate siempre de que el inquilino y la suscripción mostrados después de iniciar sesión sean los que pretendes usar. Si es necesario, puedes cambiar tu contexto.
3. Ahora ejecuta el siguiente comando para crear un nuevo grupo de recursos llamado demo
, y añádele cinco números aleatorios (Get-Random -Maximum 99999
). Los grupos de recursos están jerárquicamente por debajo de las suscripciones y contienen recursos que permiten una gestión más granular.
Observa que la -Ubicación
del grupo de recursos se establece en Central US
para este ejemplo. Cuando el comando se complete, almacenará el resultado en la variable $resourceGroup
.

4. Ejecute el comando a continuación para realizar las siguientes tareas y crear una nueva cuenta de almacenamiento de Azure. Para este ejemplo, la cuenta de almacenamiento se llama almacenamiento y se le agregan cinco números aleatorios (Get-Random -Maximum 99999
). La variable $storageAccount
contendrá el objeto devuelto después de que el comando se complete.

5. Ejecute el siguiente comando para ejecutar un par de tareas para la asignación de Rol de Azure AD:
- El valor de
-SignInName
utiliza la cuenta con la que has iniciado sesión actualmente a través de la propiedadUserID
devuelta por el cmdletGet-AzAccessToken
. - El valor de
-RoleDefinitionName
es el rol integrado Storage Blob Data Contributor que estás asignando. - El valor de
-Scope
establece el ámbito de la asignación de roles para la cuenta de almacenamiento que creaste (se muestra como storage10029) a través de la propiedadId
de la variable$storageAccount
.
Si es necesario, siempre puedes proporcionar asignaciones de roles más detalladas a contenedores individuales.

6. Por último, ejecuta la serie de comandos a continuación para crear un archivo llamado temp.dat en tu sistema local. Subirás y descargarás este archivo desde la cuenta de almacenamiento en las siguientes secciones para demostrar cómo funciona el almacenamiento de blobs.

Subida de archivos mediante PowerShell
Ahora que has construido un entorno de Azure y creado un archivo de ejemplo, comencemos a cargar el archivo en el almacenamiento de blobs. El almacenamiento de blobs funciona de manera diferente a los sistemas de archivos estándar. Cada archivo en el almacenamiento de blobs es un objeto y se mantiene dentro de contenedores.
La funcionalidad principal de los blobs es similar a otros sistemas de archivos, pero hay casos de uso donde uno u otro podría ser una solución mejor. Incluso los blobs pueden respaldar sistemas de archivos virtuales (por ejemplo, BlobFuse).
Microsoft ofrece varios métodos para cargar archivos en tus cuentas de almacenamiento mediante PowerShell, AzCopy y Azure Portal. Pero vamos a cargar el archivo de ejemplo (temp.dat) en el almacenamiento de blobs a través de PowerShell para empezar. PowerShell te proporciona una experiencia consistente para trabajar con tus cuentas de almacenamiento de Azure.
Las acciones requeridas para realizar esta demostración generarán costos. Monitorea tu consumo y elimina recursos cuando ya no los necesites.
Ejecuta los comandos a continuación para crear un nuevo contenedor y cargar el archivo temp.dat ($file
) como un objeto. El contenedor se llama demo en este ejemplo, pero puedes darle un nombre diferente si lo prefieres.

Cargar Archivos a través de AzCopy
Tal vez tengas casos de uso más complejos, como sincronizar contenido o copiar contenido entre cuentas diferentes a escala. Si es así, la herramienta de línea de comandos AzCopy es lo que necesitas.
Ejecuta los comandos a continuación para iniciar sesión en tu inquilino de Azure y copiar tu archivo local ($file
) en el punto final de URL de tu contenedor. Inicias sesión en el inquilino de Azure ya que AzCopy no está al tanto de las credenciales que estás utilizando con PowerShell.

En lugar de cargar, quizás desees descargar archivos a través de AzCopy. Si es así, ejecuta el siguiente comando para
copiar
los archivos especificados (temp.dat
) desde tu contenedor al directorio local actual:& .\azopy.exe copy "$($container.CloudBlobContainer.Uri.AbsoluteUri)/temp.dat" .\temp.dat
Cargar archivos a través del Portal de Azure
Si prefieres un método de interfaz gráfica para cargar tus archivos, entonces Azure Storage Explorer es tu amigo. Azure Storage Explorer es uno de los mejores métodos gráficos para gestionar tu almacenamiento de blobs. Puedes acceder al explorador de almacenamiento desde tu cuenta de almacenamiento en el Portal de Azure.
1. Abre tu navegador web favorito y dirígete a tu Explorador de Almacenamiento en el Portal de Azure.
2. Haz clic en el contenedor demo bajo CONTENEDORES DE BLOB, como se muestra a continuación, luego haz clic en Cargar para acceder a la cuchilla Cargar blob (panel derecho).
3. Ahora haz clic en el icono de la carpeta en el panel Cargar blob para seleccionar qué archivos cargar (temp.dat).
4. Finalmente, haz clic en Subir (botón azul) para cargar tu archivo.

Una vez que la carga se complete, puedes cerrar la pestaña Cargar blob y ver tu blob cargado, como se muestra en la imagen a continuación.

Descargar archivos a través del Portal de Azure
Similar a la carga de contenido en el almacenamiento de blobs, Azure admite la descarga de contenido de muchas maneras. Pero como acabas de cargar un archivo (temp.dat) a través del Portal de Azure, descarguemos el mismo archivo usando Azure Storage Explorer en el Portal de Azure.
Selecciona el archivo (temp.dat) para descargar y haz clic en el botón Descargar en Azure Storage Explorer, como se muestra a continuación. Al hacerlo, se abrirá un nuevo cuadro de diálogo para confirmar la descarga que verás en el siguiente paso.

Ahora haz clic en el botón Haz clic aquí para comenzar la descarga para descargar los archivos seleccionados.

Descargar archivos a través de PowerShell
Al igual que al cargar archivos, también tienes la opción de descargar archivos del almacenamiento de blobs ejecutando comandos en PowerShell. Con PowerShell, puedes listar los objetos dentro de un contenedor y luego descargarlos.
Ejecuta los siguientes comandos para listar todos los objetos en tu contenedor y descargar temp.dat en tu directorio local.

Si prefieres utilizar enlaces únicos de corta duración para descargar archivos, puedes usar tokens de firma de acceso compartido (SAS) para crear un enlace de descarga preautorizado. Estos tokens son únicos y privados, y los puedes usar para verificar tu acceso.
Ejecuta los comandos a continuación para crear un nuevo enlace de descarga para el archivo (temp.dat
) que deseas descargar. El enlace de descarga generado expira después de 10 segundos y descargará (Invoke-WebRequest $uri
) el contenido utilizando ese enlace en la variable $temp
.

Alojar una página web en Internet público desde el almacenamiento de blobs
Hasta este punto, has visto casos de uso de descarga de archivos por parte de usuarios autenticados. ¿Pero sabías que el almacenamiento de blobs también puede proporcionar una excelente opción para contenido público? Un ejemplo es usar un blob para alojar el contenido de tu página web, lo cual lograrás en esta demostración.
Incluso si el contenido de tu página web está encriptado tanto en tránsito como en reposo, cualquiera puede acceder a ese contenido si se establece el acceso público.
Dado que estás configurando un caso de uso diferente, aprovecharás uno de los principales beneficios de la nube pública en escala y elasticidad. Puedes aprovisionar una nueva cuenta de almacenamiento para un caso de uso específico y limitar el riesgo de utilizar contenedores públicos.
1. Ejecuta el siguiente comando para crear una nueva cuenta de almacenamiento, como lo hiciste en el paso cuatro de la sección “Creación de un entorno Azure”. Pero esta vez, pasarás el objeto devuelto a la variable $publicStorageAccount
.

Ahora tienes una cuenta de almacenamiento dedicada para tu contenido público y puedes configurarla para alojar contenido web estático con el siguiente comando.
2. A continuación, ejecuta el cmdlet Enable-AzStorageStaticWebsite
para configurar la cuenta de almacenamiento ($publicStorageAccount
) para tu nuevo caso de uso. El -IndexDocument
establece la página web predeterminada que deseas presentar a los usuarios. El -Context
será la nueva cuenta de almacenamiento que acabas de crear.

3. Ejecuta los siguientes comandos para crear un nuevo documento HTML en tu directorio actual y carga ese documento en el contenedor específico para alojar contenido web. El tipo de contenido se establece en HTML (ContentType="text/html"
), para que los navegadores web puedan interpretar correctamente el documento.
Acceder al documento en un navegador web imprime el mensaje Hello from <nombre de la cuenta de almacenamiento>.

4. Ahora ejecuta el siguiente comando para obtener la URL donde los usuarios pueden acceder a tu contenido.

5. Finalmente, abre la URL en tu navegador. Verás algo similar a la siguiente captura de pantalla.

Limpieza de Recursos
Ahora que has probado estos nuevos conceptos en el uso de almacenamiento de blobs, querrás limpiar tus recursos. ¿Por qué? Hacerlo te ayuda a mantener limpia tu suscripción. Más importante aún, dejarás de incurrir en cargos adicionales.
Dado que todos los recursos que utilizaste en este tutorial están en un solo grupo de recursos, puedes limpiar todos los recursos eliminando el grupo de recursos.
Los recursos no siempre estarán contenidos en un solo grupo de recursos, lo que ilustra por qué el uso liberal de la segmentación lógica puede ser beneficioso, especialmente al probar o iterar con frecuencia.
Ejecuta el cmdlet Remove-AzResourceGroup
a continuación, especificando la propiedad ResourceGroupName
de la variable $resourceGroup
para eliminar el grupo de recursos y todos los recursos dentro.

Conclusión
En este tutorial, has explorado cómo subir y descargar archivos hacia y desde blobs en almacenamiento en la nube en diferentes plataformas. También has aprendido que es posible alojar una página web desde el almacenamiento de blobs a la que los usuarios pueden acceder públicamente.
Puede hacer mucho más con el almacenamiento de blobs y otros tipos de almacenamiento, ¿cómo construiría sobre estos conceptos? Tal vez trabajar con cuentas de almacenamiento de archivos, proporcionar sistemas de archivos sin servidor o usar blobs de página para discos duros virtuales con máquinas virtuales de Azure.