Carga de archivos en Azure Blob Storage con AzCopy
Puede cargar archivos y directorios en 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>'
.
Crear un contenedor
Para crear un contenedor puede usar el comando azcopy make.
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 make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Los
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Para obtener documentos de referencia detallados, consulte azcopy make.
Cargar un archivo
Cargue un archivo 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 '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Los
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
También puede cargar un archivo mediante un símbolo comodín (*) en cualquier lugar de la ruta de acceso o del nombre de archivo. Por ejemplo: 'C:\myDirectory\*.txt'
o C:\my*\*.txt
.
Subir un directorio
Cargue un directorio mediante el comando azcopy copy.
En este ejemplo se copia un directorio (y todos sus archivos) en un contenedor de blobs. El resultado es un directorio en el contenedor con el mismo nombre.
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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Los
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
Para copiar un directorio dentro el contenedor, simplemente especifique el nombre de ese directorio en la cadena de comandos.
Los
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Si especifica el nombre de un directorio que no existe en el contenedor, AzCopy crea un directorio con ese nombre.
Carga del contenido del directorio
Cargue el contenido de un directorio mediante el comando azcopy copy. Use el símbolo comodín (*) para cargar el contenido sin copiar el propio directorio que lo contiene.
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 '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Los
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
Anexe la marca --recursive
para cargar archivos en todos los subdirectorios.
Carga de archivos específicos
Puede cargar archivos 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 archivo completos
Use el comando azcopy copy con la opción --include-path
. Separe los nombres de archivo individuales mediante punto y coma (;
).
Sintaxis
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Los
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
En este ejemplo, AzCopy transfiere el directorio C:\myDirectory\photos
y el archivo C:\myDirectory\documents\myFile.txt
. Incluya la opción --recursive
para transferir todos los archivos del directorio C:\myDirectory\photos
.
También puede excluir archivos 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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Los
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
También puede excluir archivos 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 archivo, no a la ruta de acceso. Si quiere copiar todos los archivos de texto que existen en un árbol de directorios, use la opción -recursive
para obtener todo el árbol de directorios y, a continuación, use el -include-pattern
y especifique *.txt
para obtener todos los archivos de texto.
Carga de archivos 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 cargan archivos que se modificaron en la fecha especificada o después de esta.
Sintaxis
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' --include-after <Date-Time-in-ISO-8601-format>
Los
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Ejemplo (punto de conexión de Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Para ver una referencia detallada, consulte la documentación de referencia de azcopy copy.
Carga con etiquetas de índice
Puede cargar un archivo y agregar etiquetas de índice de blob al blob de destino.
Si está usando la autorización de Microsoft Entra, a su entidad de seguridad se le debe asignar el rol Propietario de datos de Blob de almacenamiento, o se le debe conceder permiso para la Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Operación del proveedor de recursos de Azure a través de un rol personalizado de Azure. Si usa un token de firma de acceso compartido (SAS), ese token debe proporcionar acceso a las etiquetas del blob mediante el permiso t
de SAS.
Para agregar etiquetas, use la opción --blob-tags
junto con un par clave-valor codificado como dirección URL.
Por ejemplo, para agregar la clave my tag
y un valor my tag value
, agregaría --blob-tags='my%20tag=my%20tag%20value'
al parámetro de destino.
Separe varias etiquetas de índice mediante el carácter de Y comercial (&
). Por ejemplo, si quiere agregar una clave my second tag
y un valor my second tag value
, la cadena de opción completa sería --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
.
En el siguiente ejemplo, se muestra cómo usar la opción --blob-tags
.
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 ('').
Carga de un archivo
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Subir un directorio
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Carga del contenido del directorio
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Nota:
Si especifica un directorio para el origen, todos los blobs que se copien en el destino tendrán las mismas etiquetas que especifique en el comando.
Carga con marcas opcionales
Puede modificar las operaciones de carga mediante marcas opcionales. Estos son algunos ejemplos.
Escenario | Marca |
---|---|
Cargar los archivos como blobs en anexos o blobs en páginas. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Cargar en un nivel de acceso específico (como el nivel de archivo). | --block-blob-tier=[None|Hot|Cool|Archive] |
Para obtener una lista completa, vea las opciones.
Pasos siguientes
Encuentre más ejemplos en estos artículos:
- Ejemplos: descarga
- 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: