Descarga de blobs de Azure Blob Storage mediante AzCopy
Puede descargar blobs y directorios de Blob Storage mediante la utilidad de línea de comandos AzCopy v10.
Para ver ejemplos de otros tipos de tareas, como la carga de archivos, la sincronización con Blob Storage o la copia de blobs entre cuentas, consulte los vínculos presentados en la sección Pasos siguientes de este artículo.
Introducción
Vea el artículo Introducción a AzCopy para descargar AzCopy y obtener información sobre las formas de proporcionar credenciales de autorización para el servicio de almacenamiento.
Nota:
En los ejemplos de este artículo se da por hecho que ha proporcionado credenciales de autorización mediante Microsoft Entra ID.
Si prefiere usar un token de SAS para autorizar el acceso a los datos de blob, puede anexar ese token a la dirección URL de recursos en cada comando AzCopy. Por ejemplo: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'
.
Descarga de un blob
Descargue un blob mediante el comando azcopy copy.
Sugerencia
En este ejemplo los argumentos de ruta de acceso se encierran entre comillas simples ('). Use comillas simples en todos los shells de comandos excepto en el shell de comandos de Windows (cmd.exe). Si usa un shell de comandos de Windows (cmd.exe), incluya los argumentos de la ruta de acceso entre comillas dobles ("") en lugar de comillas simples ('').
Sintaxis
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'
Los
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Nota:
Si el valor de la propiedad Content-md5
de un blob contiene un hash, AzCopy calcula un hash MD5 para los datos descargados y comprueba que el hash MD5 almacenado en la propiedad Content-md5
del blob coincide con el hash calculado. Si estos valores no coinciden, se produce un error en la descarga a menos que invalide este comportamiento mediante la anexión de --check-md5=NoCheck
o --check-md5=LogOnly
al comando de copia.
Descargar un directorio
Descargue un directorio mediante el comando azcopy copy.
Sugerencia
En este ejemplo los argumentos de ruta de acceso se encierran entre comillas simples ('). Use comillas simples en todos los shells de comandos excepto en el shell de comandos de Windows (cmd.exe). Si usa un shell de comandos de Windows (cmd.exe), incluya los argumentos de la ruta de acceso entre comillas dobles ("") en lugar de comillas simples ('').
Sintaxis
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive
Los
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
En este ejemplo se crea un directorio denominado C:\myDirectory\myBlobDirectory
que contiene todos los blobs descargados.
Descarga del contenido del directorio
Puede descargar el contenido de un directorio sin copiar el propio directorio contenedor mediante el carácter comodín (*).
Sugerencia
En este ejemplo los argumentos de ruta de acceso se encierran entre comillas simples ('). Use comillas simples en todos los shells de comandos excepto en el shell de comandos de Windows (cmd.exe). Si usa un shell de comandos de Windows (cmd.exe), incluya los argumentos de la ruta de acceso entre comillas dobles ("") en lugar de comillas simples ('').
Nota:
En la actualidad, este escenario solo se admite para las cuentas que no tienen un espacio de nombres jerárquico.
Sintaxis
azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'
Ejemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'
Anexe la marca --recursive
para descargar archivos en todos los subdirectorios.
Descarga de blobs específicos
Puede descargar blobs específicos mediante nombres de archivo completos, nombres parciales con caracteres comodín (*) o fechas y horas.
Sugerencia
En estos ejemplos se delimitan los argumentos de ruta de acceso con comillas (''). Use comillas simples en todos los shells de comandos excepto en el shell de comandos de Windows (cmd.exe). Si usa un shell de comandos de Windows (cmd.exe), incluya los argumentos de la ruta de acceso entre comillas dobles ("") en lugar de comillas simples ('').
Especificación de varios nombres de blob completos
Use el comando azcopy copy con la opción --include-path
. Separe los nombres de blob individuales con punto y coma (;
).
Sintaxis
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>
Los
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt'--recursive
En este ejemplo, AzCopy transfiere el directorio https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
y el archivo https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt
. Incluya la opción --recursive
para transferir todos los blobs del directorio https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
.
También puede excluir blobs mediante la opción --exclude-path
. Para más información, consulte los documentos de referencia de azcopy copy .
Uso de caracteres comodín
Use el comando azcopy copy con la opción --include-pattern
. Especifique nombres parciales que incluyan los caracteres comodín. Separe los nombres con punto y coma (;
).
Sintaxis
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Ejemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
Ejemplo (espacio de nombres jerárquico)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
También puede excluir blobs mediante la opción --exclude-pattern
. Para más información, consulte los documentos de referencia de azcopy copy .
Las opciones --include-pattern
y --exclude-pattern
solo se aplican a los nombres de blob, no a la ruta de acceso. Si quiere copiar todos los archivos de texto (blobs) que existen en un árbol de directorios, use la opción -recursive
para obtener todo el árbol de directorios y, luego, use -include-pattern
y especifique *.txt
para obtener todos los archivos de texto.
Descarga de blobs modificados antes o después de una fecha y hora
Use el comando azcopy copy con la opción --include-before
o --include-after
. Especifique una fecha y hora en formato ISO-8601 (por ejemplo: 2020-08-19T15:04:00Z
).
En los siguientes ejemplos se descargan archivos que se modificaron en la fecha especificada o después de esta.
Sintaxis
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>
Los
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Para ver una referencia detallada, consulte la documentación de referencia de azcopy copy.
Descarga de versiones anteriores de un blob
Si ha habilitado el control de versiones de blobs, puede descargar una o más versiones anteriores de un blob.
En primer lugar, cree un archivo de texto que contenga una lista de identificadores de versión. Cada identificador de versión debe aparecer en una línea independiente. Por ejemplo:
2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z
Después, utilice el comando azcopy copy con la opción --list-of-versions
. Especifique la ubicación del archivo de texto que contiene la lista de versiones (por ejemplo: D:\\list-of-versions.txt
).
Descarga de una instantánea de un blob
Puede descargar una instantánea de un blob haciendo referencia al valor DateTime de la misma.
Sintaxis
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'
Los
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Nota:
Si usa un token de SAS para autorizar el acceso a los datos de un blob, anexe el valor DateTime de la instantánea después del token de SAS. Por ejemplo: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'
.
Descarga con marcas opcionales
Puede modificar las operaciones de descarga mediante marcas opcionales. Estos son algunos ejemplos.
Escenario | Marca |
---|---|
Descomprimir archivos automáticamente. | DECOMPRESS |
Especifique el grado de detalles que quiere que sean las entradas de registro relacionadas con la copia. | --log-level=[WARNING|ERROR|INFO|NONE] |
Especifique si desea sobrescribir los archivos y blobs en conflicto en el destino, y cómo hacerlo. | --overwrite=[true|false|ifSourceNewer|prompt] |
Para obtener una lista completa, vea las opciones.
Descarga del contenido del sitio web estático
AzCopy no admite la descarga de datos de sitios web estáticos hospedados en Azure Storage a través del punto de conexión público, como https://mystorageaccount.z12.web.core.windows.net
. En su lugar, use el contenedor $web
en el punto de conexión de blob para descargar archivos del sitio web estático.
azcopy copy 'https://mystorageaccount.blob.core.windows.net/$web/*' 'C:\myDirectory' --recursive
Pasos siguientes
Encuentre más ejemplos en estos artículos:
- Ejemplos: Carga
- Ejemplos: Copia entre cuentas
- Ejemplos: Sincronización
- Ejemplos: Cubos de Amazon S3
- Ejemplos: Google Cloud Storage
- Ejemplos: Azure Files
- Tutorial: Migración de datos locales al almacenamiento en la nube mediante AzCopy
Consulte estos artículos para configurar opciones, optimizar el rendimiento y solucionar problemas: