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.

Pasos siguientes

Encuentre más ejemplos en estos artículos:

Consulte estos artículos para configurar opciones, optimizar el rendimiento y solucionar problemas: