Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar la utilidad de línea de comandos AzCopy v10 para copiar blobs, directorios y contenedores entre cuentas de almacenamiento.
Para obtener ejemplos de otros tipos de tareas, como cargar archivos, descargar blobs y sincronizar con Blob Storage, consulte los vínculos de la sección Pasos siguientes de este artículo.
AzCopy usa APIde servidor a servidor, por lo que los datos se copian directamente entre servidores de almacenamiento.
Primeros pasos
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 supone que se proporcionan credenciales de autorización mediante el identificador de Entra de Microsoft y que la identidad de Microsoft Entra tiene las asignaciones de roles adecuadas para las cuentas de origen y destino.
Como alternativa, puede anexar un token de SAS a la dirección URL de origen o de destino en cada comando de AzCopy. Por ejemplo: azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>'.
Directrices
Aplique las siguientes directrices a los comandos AzCopy.
Si usa la autorización de Microsoft Entra para el origen y el destino, ambas cuentas deben pertenecer al mismo inquilino de Microsoft Entra.
El cliente debe tener acceso de red a las cuentas de almacenamiento de origen y de destino.
Para aprender a configurar la red de cada cuenta de almacenamiento, consulte Configuración de redes virtuales y firewalls de Azure Storage.
Para obtener información sobre las topologías de red admitidas al copiar entre cuentas, consulte Copia de blobs entre cuentas de almacenamiento con restricción de acceso.
Si realiza la copia en una cuenta de almacenamiento de blobs en bloques premium, omita el nivel de acceso de un blob de la operación de copia estableciendo
s2s-preserve-access-tierenfalse(por ejemplo:--s2s-preserve-access-tier=false). Las cuentas de almacenamiento de blobs en bloques Premium no admiten niveles de acceso.Para aumentar el rendimiento de las operaciones, puede establecer el valor de la variable de entorno
AZCOPY_CONCURRENCY_VALUE. Para más información, consulte Aumento de la simultaneidad.Si los blobs de origen tienen etiquetas de índice y desea conservar esas etiquetas, debe volver a aplicarlas a los blobs de destino. Para obtener información sobre cómo establecer etiquetas de índice, consulte la sección Copia de blobs en otra cuenta de almacenamiento con etiquetas de índice de este artículo.
Copia de un blob
Copie un blob en otra cuenta de almacenamiento 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>'
Ejemplo
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Ejemplo (puntos de conexión de Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
La operación de copia es sincrónica. Cuando el comando devuelve, indica que se copian todos los archivos.
Copia de un directorio
Copie un directorio en otra cuenta de almacenamiento 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Ejemplo
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Ejemplo (puntos de conexión de Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
La operación de copia es sincrónica. Cuando el comando devuelve, se copian todos los archivos.
Copia de un contenedor
Copie un contenedor en otra cuenta de almacenamiento 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Ejemplo
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Ejemplo (puntos de conexión de Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
La operación de copia es sincrónica. Cuando el comando devuelve, se copian todos los archivos.
Copia de contenedores, directorios y blobs
Copie todos los contenedores, directorios y blobs en otra cuenta de almacenamiento 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/' --recursive
Ejemplo
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive
Ejemplo (puntos de conexión de Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive
La operación de copia es sincrónica. Cuando el comando devuelve, indica que se copian todos los archivos.
Copia de blobs e incorporación de etiquetas de índice
Copie blobs en otra cuenta de almacenamiento y agregue etiquetas de índice de blob al blob de destino.
Si usa la autorización de Microsoft Entra, asigne el rol Propietario de datos de Storage Blob a su entidad de seguridad, o bien, concédele permiso para la operación del Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeOperación del proveedor de recursos de Azure mediante un rol personalizado de Azure. Si está utilizando un token SAS (firma de acceso compartido), el token debe proporcionar acceso a las etiquetas del blob mediante el permiso t de SAS.
Para agregar etiquetas, use la --blob-tags opción con un par clave-valor con codificación URL.
Por ejemplo, para agregar la clave my tag y el valor my tag value, agregue --blob-tags='my%20tag=my%20tag%20value' al parámetro de destino.
Separe varias etiquetas de índice con una y comercial (&). Por ejemplo, si desea agregar la clave my second tag y el 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 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 ('').
Ejemplo de blob
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Ejemplo de directorio
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Ejemplo de contenedor
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Ejemplo de cuenta
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
La operación de copia es sincrónica. Cuando el comando devuelve, se copian todos los archivos.
Nota:
Si especifica un directorio, un contenedor o una cuenta para el origen, todos los blobs que copie en el destino tienen las mismas etiquetas que especifique en el comando .
Copia con marcas opcionales
Puede modificar las operaciones de copia mediante marcas opcionales. Estos son algunos ejemplos.
| Escenario | Marca |
|---|---|
| Copie blobs como blobs en bloques, en páginas o en anexos. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
| Copiar en un nivel de acceso específico (como el nivel de archivo). | --block-blob-tier=[None|Hot|Cool|Archive] |
| Descomprimir archivos automáticamente. | --decompress=[gzip|deflate] |
Para obtener una lista completa, vea las opciones.
Especificar tipos de origen y destino
AzCopy usa el --from-to parámetro para definir explícitamente los tipos de recursos de origen y destino cuando se puede producir un error en la detección automática, como en escenarios de canalización o emuladores. Este parámetro ayuda a AzCopy a comprender el contexto de la transferencia y optimizar en consecuencia.
| FromTo Value | Description |
|---|---|
BlobBlob |
Copia entre dos ubicaciones de Azure Blob Storage |
BlobBlobFS |
Copia de Azure Blob Storage a Azure Data Lake Gen2 (BlobFS) |
BlobFSBlob |
Copia de Azure Data Lake Gen2 (BlobFS) a Azure Blob Storage |
BlobFSBlobFS |
Copia entre dos ubicaciones de Azure Data Lake Gen2 (BlobFS) |
BlobFSFile |
Copia de Azure Data Lake Gen2 (BlobFS) a Azure File Storage |
BlobFile |
Copia de Azure Blob Storage a Azure File Storage |
FileBlob |
Copia de Azure File Storage a Azure Blob Storage |
FileBlobFS |
Copia de Azure File Storage a Azure Data Lake Gen2 (BlobFS) |
Pasos siguientes
Encuentre más ejemplos en estos artículos:
- Ejemplos: Carga
- Ejemplos: Descargar
- Ejemplos: Sincronización
- Ejemplos: Cubos de Amazon S3
- Ejemplos: Google Cloud Storage
- Ejemplos: Azure Files
Consulte estos artículos para configurar opciones, optimizar el rendimiento y solucionar problemas: