Compartir a través de


Transferencia de datos con AzCopy y File Storage

AzCopy es una utilidad de línea de comandos que puede usar para copiar archivos en una cuenta de almacenamiento o desde esta. Este artículo contiene comandos de ejemplo que funcionan con Azure Files.

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:

Los ejemplos de este artículo muestran el uso de un token de SAS para autorizar el acceso. Sin embargo, para los comandos que tienen como destino archivos y directorios, ahora puede proporcionar credenciales de autorización mediante Microsoft Entra ID y omitir el token de SAS de esos comandos. Todavía tiene que usar un token de SAS en cualquier comando que tenga como destino solo el recurso compartido de archivos o la cuenta (por ejemplo: 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' o 'azcopy copy 'https://mystorageaccount.file.core.windows.net'.

Para más información, consulte Autorización de AzCopy.

Sugerencia

Al usar NFS de Azure Files, debe especificar el conmutador de la CLI --from-to con una de las siguientes opciones admitidas: FileNFSLocal, LocalFileNFS, o FileNFSFileNFS en los comandos.

Los escenarios de carga y descarga que usan LocalFileNFS y FileNFSLocal solo se admiten en entornos locales de Linux. Estas operaciones no se admiten en Windows o macOS. En cambio, el escenario FileNFSFileNFS, que usa la API de copia de servidor a servidor, se admite en Windows, Linux y macOS. Puede ejecutar los comandos asociados desde cualquiera de estas plataformas.

Creación de recursos compartidos de archivos

Puede usar el comando azcopy make para crear un recurso compartido de archivos. El ejemplo de esta sección crea un recurso compartido de archivos denominado myfileshare.

Nota:

La versión 10.30.0 de AzCopy presenta un cambio importante en el que ya no crea automáticamente recursos compartidos de archivos para transferencias que implican Azure Files mediante protocolos NFS o SMB.

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>.file.core.windows.net/<file-share-name><SAS-token>'

Ejemplo

azcopy make 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]'

Para obtener documentos de referencia detallados, consulte azcopy make.

Carga de archivos

Use el comando azcopy copy para cargar archivos y directorios desde el equipo local.

Sugerencia

En los ejemplos de esta sección se delimitan los argumentos de ruta de acceso con 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 ('').

En esta sección se incluyen los ejemplos siguientes:

  • Cargar un archivo
  • Subir un directorio
  • Subir el contenido de un directorio
  • Cargar un archivo específico

Sugerencia

Use marcas opcionales para personalizar la operación de carga. Estos son algunos ejemplos:

Escenario Marca
Copiar las listas de control de acceso (ACL) junto con los archivos. --preserve-permissions=[true|false]
Copiar la información de la propiedad SMB junto con los archivos. --preserve-info=[verdadero|falso]

Para obtener una lista completa, vea las opciones.

Nota:

AzCopy no calcula y almacena automáticamente el código hash MD5 del archivo para un archivo superior a 256 MB. Si desea que AzCopy lo haga, anexe la --put-md5 marca a cada comando de copia. De ese modo, cuando se descarga el archivo, AzCopy calcula un hash MD5 para los datos descargados y comprueba que el hash MD5 almacenado en la propiedad Content-md5 del archivo coincide con el hash calculado.

Cargar un archivo

Sintaxis

azcopy copy '<local-file-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-name>'

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-info=true

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

En este ejemplo se copia un directorio y todos los archivos de ese directorio en un recurso compartido de archivos. El resultado es un directorio en el recurso compartido de archivos con el mismo nombre.

Sintaxis

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Para copiar un directorio dentro del recurso compartido de archivos, simplemente especifique el nombre de ese directorio en la cadena de comandos.

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Si especifica el nombre de un directorio que no existe en el recurso compartido de archivos, AzCopy crea un directorio con ese nombre.

Subir el contenido de un directorio

Puede cargar el contenido de un directorio sin copiar el propio directorio contenedor mediante el carácter comodín (*).

Sintaxis

azcopy copy '<local-directory-path>/*' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>'

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --preserve-permissions=true --preserve-info=true

Nota:

Para cargar archivos en todos los subdirectorios, agregue el indicador --recursive.

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.

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 con un punto y coma (;).

Sintaxis

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-path <semicolon-separated-file-list>

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-path 'photos;documents\myFile.txt' --preserve-permissions=true --preserve-info=true

En este ejemplo, AzCopy transfiere el directorio C:\myDirectory\photos y el archivo C:\myDirectory\documents\myFile.txt. Debe incluir 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>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-pattern 'myFile*.txt;*.pdf*' --preserve-permissions=true --preserve-info=true

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 después de una fecha y hora

Use el comando azcopy copy con la opción --include-after. Especifique una fecha y hora en formato ISO 8601 (por ejemplo: 2020-08-19T15:04:00Z).

Sintaxis

azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-after <Date-Time-in-ISO-8601-format>

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-after '2020-08-19T15:04:00Z' --preserve-permissions=true --preserve-info=true

Especificación de tipos de origen y destino al cargar blobs

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
LocalFileSMB Carga desde el sistema de archivos local al recurso compartido de SMB en Azure File Storage
LocalFileNFS Carga desde el sistema de archivos local (solo Linux) al recurso compartido NFS en Azure File Storage
PipeFile Transmisión de datos de una canalización a Azure File Storage

Descarga de archivos

Use el comando azcopy copy para descargar archivos, directorios y recursos compartidos de archivos en el equipo local.

Sugerencia

En los ejemplos de esta sección se delimitan los argumentos de ruta de acceso con 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 ('').

En esta sección se incluyen los ejemplos siguientes:

  • Descarga de un archivo
  • Descargar un directorio
  • Descargar el contenido de un directorio
  • Descarga de archivos específicos

Sugerencia

Use marcas opcionales para personalizar la operación de descarga. Estos son algunos ejemplos:

Escenario Marca
Copiar las listas de control de acceso (ACL) junto con los archivos. --preserve-permissions=[true|false]
Copiar la información de la propiedad SMB junto con los archivos. --preserve-info=[verdadero|falso]
Descomprimir archivos automáticamente. DECOMPRESS

Para obtener una lista completa, vea las opciones.

Nota:

Si el valor de la propiedad Content-md5 de un archivo 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 archivo 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.

Descarga de un archivo

Sintaxis

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' '<local-file-path>'

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]' 'C:\myDirectory\myTextFile.txt' --preserve-permissions=true --preserve-info=true

Descargar un directorio

Sintaxis

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' '<local-directory-path>' --recursive

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' 'C:\myDirectory'  --recursive --preserve-permissions=true --preserve-info=true

En este ejemplo se crea un directorio denominado C:\myDirectory\myFileShareDirectory que contiene todos los archivos descargados.

Descargar el contenido de un directorio

Puede descargar el contenido de un directorio sin copiar el propio directorio contenedor mediante el carácter comodín (*).

Sintaxis

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/*<SAS-token>' '<local-directory-path>/'

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory/*?[SAS]' 'C:\myDirectory' --preserve-permissions=true --preserve-info=true

Nota:

Para descargar archivos en todos los subdirectorios, agregue la --recursive bandera.

Descarga de archivos específicos

Puede descargar archivos específicos mediante nombres de archivo completos, nombres parciales con caracteres comodín (*) o fechas y horas.

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 con un punto y coma (;).

Sintaxis

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' '<local-directory-path>' --include-path <semicolon-separated-file-list>

azcopy copy 'https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive --preserve-permissions=true --preserve-info=true

En este ejemplo, AzCopy transfiere el directorio https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos y el archivo https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt. Incluya la opción --recursive para transferir todos los archivos del directorio https://mystorageaccount.file.core.windows.net/myFileShare/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 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myDirectory?[SAS]' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*' --preserve-permissions=true --preserve-info=true

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.

Descarga de archivos modificados después de una fecha y hora

Use el comando azcopy copy con la opción --include-after. Especifique una fecha y hora en formato ISO-8601 (por ejemplo: 2020-08-19T15:04:00Z).

Sintaxis

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name>/*<SAS-token>' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/*?[SAS]' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z' --preserve-permissions=true --preserve-info=true

Para ver una referencia detallada, consulte la documentación de referencia de azcopy copy.

Descarga desde una instantánea de recurso compartido

Puede descargar una versión específica de un archivo o directorio haciendo referencia al valor DateTime de una instantánea de recurso compartido. Para más información sobre el uso compartido de instantáneas, consulte Introducción a las instantáneas de recurso compartido de Azure Files.

Sintaxis

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path-or-directory-name><SAS-token>&sharesnapshot=<DateTime-of-snapshot>' '<local-file-or-directory-path>'

Ejemplo (Descargar un archivo)

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt' --preserve-permissions=true --preserve-info=true

Ejemplo (Descargar un directorio)

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory' --recursive --preserve-permissions=true --preserve-info=true

Especificar tipos de origen y destino al descargar archivos

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
FileSMBLocal Descarga del recurso compartido de SMB en Azure File Storage al sistema de archivos local
FileNFSLocal Descarga del recurso compartido NFS en Azure File Storage en el sistema de archivos local (solo Linux)
FileSMBLocal Descarga del recurso compartido de SMB al sistema de archivos local
FilePipe Transmisión de datos de Azure File Storage a una canalización

Copia de archivos entre cuentas de almacenamiento

Puede usar AzCopy para copiar archivos a otras cuentas de almacenamiento. La operación de copia es sincrónica, por lo que todos los archivos se copian cuando el comando devuelve.

AzCopy usa interfaces API de servidor a servidor, por lo que los datos se copian directamente entre servidores de almacenamiento. Para aumentar el rendimiento de estas operaciones puede establecer el valor de la variable de entorno AZCOPY_CONCURRENCY_VALUE. Para más información, consulte Aumento de la simultaneidad.

También puede copiar versiones específicas de un archivo haciendo referencia al valor DateTime de una instantánea de recurso compartido. Para más información sobre el uso compartido de instantáneas, consulte Introducción a las instantáneas de recurso compartido de Azure Files.

Sugerencia

En los ejemplos de esta sección se delimitan los argumentos de ruta de acceso con 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 ('').

En esta sección se incluyen los ejemplos siguientes:

  • Copia de un archivo a otra cuenta de almacenamiento
  • Copia de un directorio a otra cuenta de almacenamiento
  • Copia de un recurso compartido de archivos a otra cuenta de almacenamiento
  • Copia de todos los recurso compartido de archivos, directorios y archivos a otra cuenta de almacenamiento

Sugerencia

Puede modificar las operaciones de copia mediante marcas opcionales. Estos son algunos ejemplos.

Escenario Marca
Copiar las listas de control de acceso (ACL) junto con los archivos. --preserve-permissions=[true|false]
Copiar la información de la propiedad SMB junto con los archivos. --preserve-info=[verdadero|falso]

Para obtener una lista completa, vea las opciones.

Copia de un archivo a otra cuenta de almacenamiento

Sintaxis

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>'

Ejemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-info=true

Ejemplo (instantánea de recurso compartido)

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-info=true

Copia de un directorio a otra cuenta de almacenamiento

Sintaxis

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Ejemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Ejemplo (instantánea de recurso compartido)

azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Copia de un recurso compartido de archivos a otra cuenta de almacenamiento

Sintaxis

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Ejemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --preserve-permissions=true --preserve-info=true

Ejemplo (instantánea de recurso compartido)

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Copia de todos los recurso compartido de archivos, directorios y archivos a otra cuenta de almacenamiento

Sintaxis

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<SAS-token>' --recursive'

Ejemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net?[SAS]' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Ejemplo (instantánea de recurso compartido)

azcopy copy 'https://mysourceaccount.file.core.windows.net?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Especificar tipos de origen y destino al copiar archivos

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
FileBlob Copia de Azure File Storage a Azure Blob Storage
FileBlobFS Copia de Azure File Storage a Azure Data Lake Gen2 (BlobFS)
FileSMBFileSMB Copia entre dos recursos compartidos SMB en Azure File Storage
FileNFSFileNFS Copia entre dos recursos compartidos NFS en Azure File Storage
FileNFSFileSMB Copia desde Azure File Storage NFS a Azure Files Storage SMB
FileSMBFileNFS Copia de Azure File Storage SMB a Azure Files Storage NFS

Sincronización de archivos

Puede sincronizar el contenido de un sistema de archivos local con un recurso compartido de archivos, o bien sincronizar el contenido de un recurso compartido de archivos con otro. También puede sincronizar el contenido de un directorio de un recurso compartido de archivos con el contenido de un directorio que se encuentra en otro recurso compartido de archivos. La sincronización es unidireccional. En otras palabras, tendrá que elegir cuál de estos dos puntos de conexión es el origen y cuál es el destino. La sincronización también usa las API de servidor a servidor.

Advertencia

Se admite la sincronización de AzCopy, pero no se recomienda por completo para Azure Files. La función de sincronización de AzCopy admite hasta 10 millones de archivos por trabajo de AzCopy y es posible que se pierda cierta precisión en los archivos, ya que AzCopy usa las API de REST de Azure Files para copiar contenido en el uso compartido de Azure Files. Para más información, consulte Migración a recursos compartidos de archivos de Azure.

Directrices

De manera predeterminada, el comando sync compara nombres de archivo y las marcas de tiempo de la última modificación. Puede invalidar ese comportamiento para usar hashes MD5 en lugar de marcas de tiempo modificadas por última vez mediante la marca --compare-hash. Establezca la marca opcional --delete-destination en un valor de true o prompt para eliminar archivos en el directorio de destino si esos archivos ya no existen en el directorio de origen.

  • Si establece la marca --delete-destination en true, AzCopy elimina los archivos sin proporcionar un aviso. Si quiere que aparezca un mensaje antes de que AzCopy elimine un archivo, establezca la marca --delete-destination en prompt.

  • Si tiene previsto establecer la marca --delete-destination en prompt o false, considere la posibilidad de usar el comando copy en lugar del comando sync y establezca el parámetro --overwrite en ifSourceNewer. El comando copy consume menos memoria y genera menos costos de facturación porque una operación de copia no tiene que indexar el origen o el destino antes de mover archivos.

  • Si no tiene previsto usar la marca --compare-hash, entonces la máquina en la que ejecute el comando de sincronización debe tener un reloj del sistema preciso porque las últimas horas modificadas son fundamentales para determinar si se debe transferir un archivo. Si el sistema tiene un sesgo de reloj importante, evite modificar los archivos en el destino demasiado cerca de la hora en que planea ejecutar un comando de sincronización.

  • AzCopy usa API de servidor a servidor para sincronizar datos entre cuentas de almacenamiento. Esto significa que los datos se copian directamente entre los servidores de almacenamiento. Sin embargo, AzCopy configura y supervisa cada transferencia y, para cuentas de almacenamiento más grandes (por ejemplo, cuentas que contienen millones de blobs), AzCopy podría necesitar una cantidad importante de recursos de proceso para realizar estas tareas. Por lo tanto, si ejecuta AzCopy desde máquina virtual (VM), asegúrese de que la máquina virtual tiene suficientes núcleos o memoria para controlar la carga.

Sugerencia

Puede modificar las operaciones de sincronización mediante marcas opcionales. Estos son algunos ejemplos.

Escenario Marca
Copiar las listas de control de acceso (ACL) junto con los archivos. --preserve-permissions=[true|false]
Copiar la información de la propiedad SMB junto con los archivos. --preserve-info=[verdadero|falso]
Excluir archivos en función de un patrón. --exclude-path
Especifique el grado de detalles que quiere que sean las entradas de registro relacionadas con la sincronización. --log-level=[WARNING|ERROR|INFO|NONE]

Para obtener una lista completa, vea las opciones.

En los ejemplos de esta sección se delimitan los argumentos de ruta de acceso con 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 ('').

Actualización de un recurso compartido de archivos con los cambios realizados en un sistema de archivos local

En este caso, el recurso compartido de archivos es el destino y el sistema de archivos local es el origen.

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 sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Ejemplo

azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' --recursive

Actualización de un sistema de archivos local con los cambios realizados en un recurso compartido de archivos

En este caso, el sistema de archivos local es el destino y el recurso compartido de archivos es el origen.

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 sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive

Ejemplo

azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' 'C:\myDirectory' --recursive

Actualización de un recurso compartido de archivos con cambios de otro recurso compartido de archivos

El primer recurso compartido de archivos de este comando es el origen. El comando copia los cambios desde este compartido de archivos fuente. El segundo uso compartido de archivos es el destino.

Sintaxis

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Ejemplo

azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?[SAS]' 'https://mydestinationaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Actualización de un directorio con cambios en un directorio de otro recurso compartido de archivos

El primer directorio que aparece en este comando es el origen. El segundo es el destino.

Sintaxis

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' --recursive

Ejemplo

azcopy sync 'https://mysourceaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' 'https://mydestinationaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Actualización de un recurso compartido de archivos para que coincida con el contenido de la instantánea de un recurso compartido

El primer recurso compartido de archivos que aparece en este comando es el origen. Al final del identificador URI, anexe la cadena &sharesnapshot=, seguida del valor DateTime de la instantánea.

Sintaxis

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>&sharesnapsot<snapshot-ID>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Ejemplo

azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Para más información sobre el uso compartido de instantáneas, consulte Introducción a las instantáneas de recurso compartido de Azure Files.

Propiedades y permisos que se van a conservar

Sugerencia

Al descargar archivos en un sistema Linux local, necesita privilegios elevados si el propietario o grupo especificado difiere del del usuario actual. Para cambiar la propiedad o el grupo de archivos descargados, ejecute azcopy con sudo o como usuario raíz.

Tipo Propiedades (--preserve-info) Permisos (--preserve-permissions)
Azure Files SMB NTFSFileAttributes (ReadOn ReadOnly, Oculto, Sistema, Directorio, Archivo, Ninguno, Temporal, Sin conexión, NotContentIndexed, NoScrubData) (x-ms-file-attributes)
CreationTime (x-ms-file-creation-time)
LastWriteTime (x-ms-file-last-write-time)
ACL (x-ms-file-permission)
Azure Files NFS CreationTime (x-ms-file-creation-time)
LastWriteTime (x-ms-file-last-write-time)
Propietario (x-ms-owner)
Grupo (x-ms-group)
FileMode (x-ms-mode)

Pasos siguientes

Puede encontrar más ejemplos en cualquiera de estos artículos:

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