La automatización está presente en todas partes hoy en día en el campo de la tecnología de la información. Desde la aprovisionamiento de máquinas virtuales hasta la implementación de sitios web, la automatización es clave, especialmente cuando se necesita lidiar con múltiples elementos. Incluso la gestión de archivos entre el almacenamiento de Azure y su máquina local puede automatizarse utilizando un programa de utilidad llamado AzCopy.
AzCopy es una utilidad independiente que permite la gestión del almacenamiento de Azure. Con AzCopy, se pueden realizar varias operaciones. En este artículo, nos vamos a centrar en:
- Creación de contenedores de almacenamiento
- Copiar archivos locales a contenedores
- Copiar archivos entre contenedores
¡Comencemos!
Si prefieres aprender a través de videos, también puedes ver un video de TechSnips relacionado de cerca con lo que aprenderás en este artículo.
Requisitos previos
Este artículo será un tutorial paso a paso que demostrará varias tareas. Si quieres seguirlo, asegúrate de cumplir con los siguientes requisitos antes de comenzar.
- Una suscripción a Azure. Si aún no la tienes, puedes solicitar una suscripción de prueba.
- Una cuenta de almacenamiento de Azure. Consulta Cómo crear una cuenta de almacenamiento para obtener más información.
- AzCopy se ha descargado y autenticado (consulte el artículo Cómo descargar e instalar la herramienta AzCopy para aprender cómo configurarlo)
Creación de nuevos contenedores de almacenamiento
En primer lugar, use AzCopy para crear nuevos contenedores de almacenamiento en una cuenta de almacenamiento existente. En el ejemplo que utilizará, creará dos nuevos contenedores llamados contenedor1 y contenedor2.
Nota: Antes de crear un nuevo contenedor, debe conocer la URL de extremo del contenedor. La URL de extremo sigue el formato: https://[nombre_cuenta_almacenamiento].blob.core.windows.net/[nombre_contenedor].
En primer lugar, defina la URL de extremo. En este ejemplo, los contenedores se crearán en una cuenta de almacenamiento llamada cuentaalmacenamiento1207 creando dos URL de extremo:
- https://cuentaalmacenamiento1207.blob.core.windows.net/contenedor1
- https://cuentaalmacenamiento1207.blob.core.windows.net/contenedor2
Ahora que conoce las URL de extremo, use el comando azcopy make
pasando cada URL de extremo como parámetro como se muestra a continuación.

Copiar archivos hacia/desde contenedores de Azure
Una vez que haya creado un contenedor de almacenamiento, probablemente se esté preguntando “¿Cómo puedo subir a Azure Blob Storage?”. Puede hacerlo con AzCopy utilizando el comando azcopy copy
. Puede usar AzCopy para copiar PST, VHD y más.
Uso de la autenticación OAuth
Al usar AzCopy para copiar archivos a blobs, tienes varias opciones para la autenticación. Dado que se supone que ya has autenticado en Azure Storage (ya que estaba en los requisitos previos), simplemente puedes ejecutar azcopy copy
especificando una ruta de archivo local seguida de una URL de punto de conexión de contenedor como se muestra a continuación.
Al no especificar ningún otro parámetro, estás utilizando la autenticación OAuth.

¿Cómo sabes si el archivo se ha copiado en el contenedor de blobs de Azure? Puedes usar el comando azcopy list [URL del contenedor]
. Mira el ejemplo a continuación que muestra que el archivo file1.txt
existe.

Para descargar un archivo de un blob de Azure al directorio local, solo necesitas intercambiar los argumentos de origen y destino. Mira el ejemplo a continuación.

Uso de un token de firma de acceso compartido (SAS)
Para usar un token SAS, primero debes generar uno. Si no sabes cómo generar un token SAS, consulta el artículo Cómo generar un token SAS de Azure para acceder a las cuentas de almacenamiento.
Una vez que tienes un token SAS disponible, puedes agregar el token a la URL del contenedor de destino como un parámetro HTTP, como se muestra a continuación.
Si estás utilizando PowerShell y has almacenado el token en una variable (por ejemplo, $token
), puedes pasar esa variable en lugar de la cadena completa del token, como se muestra en el siguiente comando.

Utilizando el mismo token (asumiendo que aún está dentro de su período de validez), también puedes descargar archivos del almacenamiento de Azure al almacenamiento local. El ejemplo a continuación copia el archivo file1.txt
del almacenamiento de Azure utilizando un token SAS.
En el código a continuación, puedes ver que esta vez, en lugar de agregar el token después del nombre del contenedor, se agrega primero el nombre del archivo. Esto indica a AzCopy que copie un archivo específico utilizando la autenticación SAS.

Copiando un directorio hacia/desde el almacenamiento de Azure
Si tienes muchos archivos para transferir o descargar desde Azure, también puedes copiar directorios completos de una vez utilizando azcopy copy
. El comando para hacerlo no es muy diferente de lo que usas para copiar archivos individuales.
A continuación, puedes ver un comando que copia recursivamente el directorio C:\\MyDir
al contenedor de blobs container1. El parámetro --recursive
es clave aquí. La bandera --recursive
al final del comando indica que se copiarán todos los contenidos del directorio principal y los subdirectorios que puedan existir.
A continuación, puedes ver que los diez archivos dentro de la carpeta C:\MyDir se copiaron correctamente según el resumen del trabajo.

Copiando archivos entre contenedores de almacenamiento de Azure.
A lo largo de este artículo, has estado utilizando bastante el comando azcopy copy
. ¡No hay necesidad de detenerse ahora! No solo puedes copiar directorios y archivos hacia/desde tu entorno local, sino que también puedes copiar blobs entre contenedores de almacenamiento.
En lugar de utilizar una ruta de archivo local, cambiarías los parámetros para utilizar una URL de contenedor de blob como origen y otra URL de contenedor de blob como destino.
Ya has creado dos contenedores de almacenamiento llamados container1 y container2. En esta sección, vamos a copiar archivos, directorios e incluso todo el contenedor de blobs de container1 a container2.
Para copiar archivos de un contenedor a otro, primero generamos un nuevo token SAS. Dado que los dos contenedores pertenecen a la misma cuenta de almacenamiento, se puede utilizar el mismo token tanto para el origen como para el destino.
Suponiendo que has guardado la cadena del token en una variable llamada $token
(si estás ejecutando azcopy con PowerShell), puedes copiar fácilmente todos los datos de un contenedor de almacenamiento a otro, como se muestra a continuación.
Recordatorio: Echa un vistazo al artículo Cómo generar un token SAS de Azure para acceder a cuentas de almacenamiento si no sabes cómo generar un token SAS.

Otras operaciones útiles de AzCopy
Además de copiar archivos y carpetas, hay otras operaciones de copia que puedes realizar con AzCopy. Algunas de ellas son:
- Copiar archivos específicos (filtrados).
- Copiar un directorio dentro de otro directorio en el contenedor de blobs.
- Copiar desde Amazon AWS a Azure Storage.
Si desea aprender sobre todo lo que AzCopy puede hacer, consulte el contenido de ayuda ejecutando azcopy -h
. Encontrará muchos otros comandos útiles además del comando copy
en el que se ha centrado exclusivamente en este artículo. Puede ver una captura de pantalla de estos comandos a continuación.

Para obtener más información, visite la página AzCopy Copy. Luego puede probar estos por su cuenta utilizando las técnicas que aprendió en este artículo.
Resumen
En este artículo, aprendió cómo usar AzCopy para transferir archivos entre el almacenamiento local y Azure. También aprendió cómo realizar estas tareas utilizando OAuth y Token de firma de acceso compartido para la autenticación. Ha visto qué otros comandos de AzCopy están disponibles y cómo encontrarlos.
I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!