Compartir a través de


Transferencia de datos con AzCopy v8.1 en Windows

AzCopy es una utilidad de línea de comandos diseñada para copiar datos a y desde los servicios de Almacenamiento de blobs de Microsoft Azure, File Storage y Table Storage con sencillos comandos diseñados para ofrecer un rendimiento óptimo. Puede copiar datos entre un sistema de archivos y una cuenta de almacenamiento o entre cuentas de almacenamiento.

Importante

En este artículo se describe una versión antigua de AzCopy. Para instalar la versión más reciente de AzCopy, consulte AzCopy v10.

Si decide instalar la versión anterior de AzCopy (AzCopy v8.1), hay varias versiones que puede descargar. AzCopy en Windows ofrece opciones de la línea de comandos estilo Windows. AzCopy en Linux tiene como destino las plataformas Linux que ofrecen opciones de la línea de comandos estilo POSIX. Este artículo trata sobre AzCopy en Windows.

Descarga e instalación de AzCopy (v8.1) en Windows

Descargue AzCopy (v8.1) en Windows.

Notas de la versión de AzCopy en Windows 8.1

  • Table service ya no se admite en la última versión. Si utiliza la característica de exportación de Table, descargue la versión 7.3 de AzCopy.
  • Creado con .NET Core 2.1, y todas las dependencias de.NET Core ahora se empaquetan en la instalación.
  • Incorporación de compatibilidad con la autenticación de OAuth. Use azcopy login para iniciar sesión utilizando Azure Active Directory.

Azcopy con compatibilidad con Table (v7.3)

Descargue AzCopy 7.3 con compatibilidad con Table.

Pasos posteriores a la instalación

Después de instalar AzCopy en Windows con el programa de instalación, abra una ventana de comandos y desplácese hasta el directorio de instalación de AzCopy en el equipo, donde se encuentra el ejecutable AzCopy.exe. Si lo desea, puede agregar la ubicación de instalación de AzCopy a la ruta de acceso del sistema. De forma predeterminada, AzCopy se instala en %ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy o %ProgramFiles%\Microsoft SDKs\Azure\AzCopy.

Escritura del primer comando de AzCopy

La sintaxis básica del comando AzCopy es:

AzCopy /Source:<source> /Dest:<destination> [Options]

Los ejemplos siguientes muestran diversos escenarios para copiar datos a y desde los blobs, archivos y tablas de Microsoft Azure. Consulte la sección Parámetros de AzCopy para obtener una explicación detallada de los parámetros utilizados en cada ejemplo.

Descarga de blobs desde Blob Storage

Echemos un vistazo a varias maneras de descargar blobs mediante AzCopy.

Descarga de un solo blob

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /Pattern:"abc.txt"

Tenga en cuenta que si la carpeta C:\myfolder no existe, AzCopy la crea y descarga abc.txt en la nueva carpeta.

Descarga de un solo blob desde la región secundaria

AzCopy /Source:https://myaccount-secondary.blob.core.windows.net/mynewcontainer /Dest:C:\myfolder /SourceKey:key /Pattern:"abc.txt"

Tenga en cuenta que debe tener almacenamiento con redundancia geográfica con acceso de lectura habilitado para acceder a la región secundaria.

Descarga de todos los blobs de un contenedor

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /S

Supongamos que los siguientes blobs residen en el contenedor especificado:

abc.txt
abc1.txt
abc2.txt
vd1\a.txt
vd1\abcd.txt

Después de la operación de descarga, el directorio C:\myfolder incluye los archivos siguientes:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\vd1\a.txt
C:\myfolder\vd1\abcd.txt

Si no especifica la opción /S, no se descarga ningún blob.

Descarga de blobs con un prefijo específico

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /Pattern:a /S

Supongamos que los siguientes blobs residen en el contenedor especificado. Se descargan todos los blobs que comiencen con el prefijo a:

abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt

Después de la operación de descarga, la carpeta C:\myfolder incluye los archivos siguientes:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt

El prefijo se aplica al directorio virtual, que forma la primera parte del nombre del blob. En el ejemplo mostrado anteriormente, el directorio virtual no coincide con el prefijo especificado, por lo que no se descarga. Además, si no se especifica la opción /S, AzCopy no descarga ningún blob.

Establecimiento de la hora de la última modificación de los archivos exportados para que coincida con la de los blobs de origen

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT

También puede excluir los blobs de la operación de descarga basándose en la hora de su última modificación. Por ejemplo, si desea excluir los blobs cuya hora de la última modificación es igual o más reciente que la del archivo de destino, agregue la opción /XN :

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT /XN

Si desea excluir los blobs cuya hora de la última modificación es igual o anterior a la del archivo de destino, agregue la opción /XO:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT /XO

Carga de blobs a Blob Storage

Veamos varias maneras de cargar blobs mediante AzCopy.

Carga de un solo blob

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Pattern:"abc.txt"

Si el contenedor de destino especificado no existe, AzCopy lo crea y carga el archivo en él.

Carga de un solo blob en un directorio virtual

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer/vd /DestKey:key /Pattern:abc.txt

Si el directorio virtual especificado no existe, AzCopy carga el archivo para incluir el directorio virtual en su nombre (por ejemplo, vd/abc.txt en el ejemplo anterior).

Carga de todos los blobs de una carpeta

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /S

Al especificar la opción /S se carga el contenido del directorio especificado en Blob Storage de forma recursiva, lo que significa que todas las subcarpetas y sus archivos también se cargan. Por ejemplo, supongamos que los siguientes archivos residen en la carpeta C:\myfolder:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt

Después de la operación de carga, el contenedor incluye los archivos siguientes:

abc.txt
abc1.txt
abc2.txt
subfolder\a.txt
subfolder\abcd.txt

Si no especifica la opción /S, AzCopy no realiza la carga de forma recursiva. Después de la operación de carga, el contenedor incluye los archivos siguientes:

abc.txt
abc1.txt
abc2.txt

Carga de blobs que coinciden con un patrón específico

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Pattern:a* /S

Supongamos que los siguientes archivos residen en la carpeta C:\myfolder:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\xyz.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt

Después de la operación de carga, el contenedor incluye los archivos siguientes:

abc.txt
abc1.txt
abc2.txt
subfolder\a.txt
subfolder\abcd.txt

Si no especifica la opción /S, AzCopy solo carga los blobs que no residan en un directorio virtual:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt

Especificación del tipo de contenido MIME de un blob de destino

De forma predeterminada, AzCopy define el tipo de contenido de un blob de destino como application/octet-stream. A partir de la versión 3.1.0, puede especificar explícitamente el tipo de contenido a través de la opción /SetContentType:[content-type]. Esta sintaxis establece el tipo de contenido para todos los blobs de una operación de carga.

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.blob.core.windows.net/myContainer/ /DestKey:key /Pattern:ab /SetContentType:video/mp4

Si especifica /SetContentType sin un valor, AzCopy establece cada blob o tipo de contenido del archivo según su extensión de archivo.

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.blob.core.windows.net/myContainer/ /DestKey:key /Pattern:ab /SetContentType

Copia de blobs en Blob Storage

Veamos varias maneras de copiar blobs de una ubicación a otra mediante AzCopy.

Copia de un solo blob desde un contenedor a otro dentro de la misma cuenta de almacenamiento

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1 /Dest:https://myaccount.blob.core.windows.net/mycontainer2 /SourceKey:key /DestKey:key /Pattern:abc.txt

Cuando copia un blob dentro de una cuenta de almacenamiento, se realiza una operación de copia del lado del servidor .

Copia de un solo blob de una cuenta de almacenamiento a otra

AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 /Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt

Cuando copia un blob entre cuentas de almacenamiento, se realiza una operación de copia del lado del servidor .

Copia de un solo blob de la región secundaria a la región primaria

AzCopy /Source:https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1 /Dest:https://myaccount2.blob.core.windows.net/mynewcontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt

Tenga en cuenta que debe tener almacenamiento con redundancia geográfica con acceso de lectura habilitado para acceder al almacenamiento secundario.

Copia de un solo blob y sus instantáneas de una cuenta de almacenamiento a otra

AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 /Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt /Snapshot

Después de la operación de copia, el contenedor de destino incluye el blob y sus instantáneas. Suponiendo que el blob del ejemplo anterior tiene dos instantáneas, el contenedor incluye el siguiente blob e instantáneas:

abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt

Copia de todos los blobs de un contenedor a otra cuenta de almacenamiento

AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 
/Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /S

Especificar la opción /S carga el contenido del contenedor especificado de forma recursiva. Consulte Carga de todos los blobs de una carpeta para más información y un ejemplo.

Copia sincrónica de blobs de una cuenta de almacenamiento a otra

De forma predeterminada, AzCopy copia datos entre dos extremos de almacenamiento asincrónicamente. Por lo tanto, la operación de copia se ejecuta en segundo plano con la capacidad de ancho de banda de reserva sin SLA en relación con la velocidad con que se copia un blob y AzCopy comprueba periódicamente el estado de la copia hasta que se complete o se devuelva un error.

La opción /SyncCopy garantiza que la operación de copia tiene una velocidad uniforme. Para hacer la copia sincrónica, AzCopy descarga los blobs que se deben copiar desde el origen especificado a la memoria local y, a continuación, los carga en el destino de almacenamiento de blobs.

AzCopy /Source:https://myaccount1.blob.core.windows.net/myContainer/ /Dest:https://myaccount2.blob.core.windows.net/myContainer/ /SourceKey:key1 /DestKey:key2 /Pattern:ab /SyncCopy

/SyncCopy podría generar un costo de salida adicional en comparación con la copia asincrónica. Es recomendable usar esta opción en la máquina virtual de Azure que se encuentra en la misma región que la cuenta de almacenamiento de origen, para evitar el costo de salida.

Descarga de archivos desde File Storage

Veamos varias maneras de descargar archivos mediante AzCopy.

Descarga de un solo archivo

AzCopy /Source:https://myaccount.file.core.windows.net/myfileshare/myfolder1/ /Dest:C:\myfolder /SourceKey:key /Pattern:abc.txt

Si el origen especificado es un recurso compartido de archivos de Azure, debe especificar el nombre de archivo exacto (por ejemploabc.txt, ) para descargar un único archivo o especificar la opción /S para descargar todos los archivos del recurso compartido de forma recursiva. Si intenta especificar tanto un patrón de archivos como la opción /S en conjunto, se produce un error.

Descarga de todos los archivos de un directorio

AzCopy /Source:https://myaccount.file.core.windows.net/myfileshare/ /Dest:C:\myfolder /SourceKey:key /S

Tenga en cuenta que no se descargan las carpetas vacías.

Carga de archivos en un recurso compartido de archivos de Azure

Veamos varias maneras de cargar archivos mediante AzCopy.

Carga de un solo archivo

AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /Pattern:abc.txt

Carga de todos los archivos de una carpeta

AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /S

Tenga en cuenta que no se cargan las carpetas vacías.

Carga de archivos que coinciden con un patrón específico

AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /Pattern:ab* /S

Copia de archivos en File Storage

Veamos varias maneras de copiar archivos en un recurso compartido de archivos de Azure mediante AzCopy.

Copia de un recurso compartido de archivos a otro

AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare1/ /Dest:https://myaccount2.file.core.windows.net/myfileshare2/ /SourceKey:key1 /DestKey:key2 /S

Al copiar un archivo en distintos recursos compartidos de archivos, se realiza una operación de copia del lado del servidor.

Copia de un recurso compartido de archivos de Azure a Blob Storage

AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare/ /Dest:https://myaccount2.blob.core.windows.net/mycontainer/ /SourceKey:key1 /DestKey:key2 /S

Al copiar un archivo desde un recurso compartido de archivos en un blob, se realiza una copia del lado del servidor.

Copia de un blob de Blob Storage a un recurso compartido de archivos de Azure

AzCopy /Source:https://myaccount1.blob.core.windows.net/mycontainer/ /Dest:https://myaccount2.file.core.windows.net/myfileshare/ /SourceKey:key1 /DestKey:key2 /S

Cuando copia un archivo de un blob a un recurso compartido de archivos, se realiza una operación de copia del lado del servidor.

Copia sincrónica de archivos

Puede especificar la opción /SyncCopy para copiar datos de forma sincrónica de File Storage a File Storage, de File Storage a Blob Storage y de Blob Storage a File Storage; para ello, AzCopy descarga los datos de origen en la memoria local y los carga de nuevo al destino. Se aplica el costo de salida estándar.

AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare1/ /Dest:https://myaccount2.file.core.windows.net/myfileshare2/ /SourceKey:key1 /DestKey:key2 /S /SyncCopy

Cuando hace una copia de File Storage a Blob Storage, el tipo de blob predeterminado es blob en bloques. El usuario puede especificar la opción /BlobType:page para cambiar el tipo de blob de destino.

Tenga en cuenta que /SyncCopy podría generar un costo de salida adicional en comparación con la copia asincrónica. El enfoque recomendado es usar esta opción en la máquina virtual de Azure que se encuentra en la misma región que la cuenta de almacenamiento de origen, para evitar el costo de salida.

Exportación de datos desde Table Storage

Examinemos la exportación de datos desde Azure Table Storage mediante AzCopy.

Exportación de una tabla

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key

AzCopy escribe un archivo de manifiesto en la carpeta de destino especificada. El archivo de manifiesto se utiliza por parte del proceso de importación para ubicar los archivos de datos necesarios y realizar la validación de datos. El archivo de manifiesto utiliza la siguiente convención de nombres de forma predeterminada:

<account name>_<table name>_<timestamp>.manifest

El usuario también puede especificar la opción /Manifest:<manifest file name> para establecer el nombre del archivo de manifiesto.

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /Manifest:abc.manifest

División de una exportación de Table Storage en varios archivos

AzCopy /Source:https://myaccount.table.core.windows.net/mytable/ /Dest:C:\myfolder /SourceKey:key /S /SplitSize:100

AzCopy usa un índice de volumen en los nombres de los archivos de datos divididos para distinguir los diversos archivos. El índice de volumen consta de dos partes, un índice de rango de clave de partición y un índice de archivo dividido. Ambos índices se basan en 0.

El rango de clave de partición es 0, si un usuario no especifica la opción /PKRS.

Por ejemplo, imagine que AzCopy genera dos archivos de datos después de que el usuario especifique la opción /SplitSize. Los nombres de archivos de datos resultantes serían:

myaccount_mytable_20140903T051850.8128447Z_0_0_C3040FE8.json
myaccount_mytable_20140903T051850.8128447Z_0_1_0AB9AC20.json

Tenga en cuenta que el mínimo valor posible para la opción /SplitSize es 32 MB. Si el destino especificado es Blob Storage, AzCopy divide el archivo de datos una vez que su tamaño alcanza el límite especificado (200 GB), independientemente de si el usuario ha especificado o no la opción /SplitSize.

Exportación de una tabla al formato de archivo de datos JSON o CSV

De manera predeterminada, AzCopy exporta las tablas a archivos de datos JSON. Puede especificar la opción /PayloadFormat:JSON|CSV para exportar las tablas como JSON o CSV.

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /PayloadFormat:CSV

Al especificar el formato de carga CSV, AzCopy también genera un archivo de esquema con la extensión .schema.csv para cada archivo de datos.

Exportación de entidades de tabla simultáneamente

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /PKRS:"aa#bb"

AzCopy inicia operaciones simultáneas para exportar entidades cuando el usuario especifica la opción /PKRS. Cada operación exporta un rango de claves de partición.

Tenga en cuenta que el número de operaciones simultáneas está controlado también por la opción /NC. AzCopy usa el número de procesadores de núcleo como valor predeterminado de /NC al copiar entidades de tabla, incluso si no se especificó /NC. Si el usuario especifica la opción /PKRS, AzCopy usa el valor más pequeño de los dos (rangos de claves de partición u operaciones simultáneas especificadas de manera implícita o explícita) para determinar el número de operaciones simultáneas que van a dar inicio. Para obtener más detalles, escriba AzCopy /?:NC en la línea de comandos.

Exportación de una tabla a Blob Storage

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:https://myaccount.blob.core.windows.net/mycontainer/ /SourceKey:key1 /Destkey:key2

AzCopy genera un archivo de datos JSON en el contenedor de blobs local con la siguiente convención de nomenclatura:

<account name>_<table name>_<timestamp>_<volume index>_<CRC>.json

El archivo de datos JSON generado sigue el formato de carga para metadatos mínimos. Para obtener más información sobre el formato de carga, consulte Formato de carga para las operaciones del servicio Tabla.

Tenga en cuenta que, al exportar tablas a blobs, AzCopy descarga las entidades de tabla en archivos de datos temporales locales y, a continuación, carga tales entidades en el blob. Estos archivos de datos temporales se colocan en la carpeta de archivos de diario con la ruta de acceso predeterminada "%LocalAppData%\Microsoft\Azure\AzCopy". Puede especificar la opción /Z:[carpeta-de-archivos-de-diario] para cambiar la ubicación de esta carpeta y, así, modificar también la de los archivos de datos temporales. El tamaño de los archivos de datos temporales se decide según el de las entidades de tabla y el especificado con la opción /SplitSize, aunque el archivo de datos temporales en el disco local se elimina inmediatamente después de cargarse en el blob. Asegúrese de que tiene suficiente espacio en el disco local para almacenar estos archivos de datos temporales antes de que se eliminen.

Importación de datos a Table Storage

Examinemos la importación de datos a Azure Table Storage mediante AzCopy.

Importación de una tabla

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.table.core.windows.net/mytable1/ /DestKey:key /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:InsertOrReplace

La opción /EntityOperation indica cómo insertar entidades en la tabla. Los valores posibles son:

  • InsertOrSkipomite una entidad existente o inserta una nueva entidad si esta no existe en la tabla.
  • InsertOrMergecombina una entidad existente o inserta una nueva entidad si esta no existe en la tabla.
  • InsertOrReplacereemplaza una entidad existente o inserta una nueva entidad si esta no existe en la tabla.

Tenga en cuenta que no puede especificar la opción /PKRS en el escenario de importación. A diferencia del escenario de exportación, en el que debe especificar la opción /PKRS para iniciar las operaciones simultáneas, AzCopy inicia de manera predeterminada operaciones simultáneas cuando se importa una tabla. El número predeterminado de operaciones simultáneas que se inician equivale al número de procesadores de núcleo; sin embargo, puede especificar un número diferente para la simultaneidad con la opción /NC. Para obtener más detalles, escriba AzCopy /?:NC en la línea de comandos.

Tenga en cuenta que AzCopy solo admite la importación de archivos con el formato JSON, no CSV. AzCopy no permite importar tablas de archivos de manifiesto y archivos JSON creados por los usuarios. Estos archivos deben proceder de una exportación de tablas de AzCopy. Para evitar errores, no modifique el archivo JSON exportado ni el archivo de manifiesto.

Importación de entidades a una tabla de Blob Storage

Suponga que un contenedor de blobs contiene lo siguiente: un archivo JSON que representa una tabla de Azure y el archivo de manifiesto que lo acompaña.

myaccount_mytable_20140103T112020.manifest
myaccount_mytable_20140103T112020_0_0_0AF395F1DC42E952.json

Puede ejecutar el comando siguiente para importar las entidades en una tabla mediante el archivo de manifiesto de ese contenedor de blobs:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:https://myaccount.table.core.windows.net/mytable /SourceKey:key1 /DestKey:key2 /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:"InsertOrReplace"

Otras características de AzCopy

Veamos algunas otras características de AzCopy.

Solo copie los datos que no existan en el destino

Los parámetros /XO y /XN le permiten excluir los recursos de origen anteriores o posteriores a la copia, respectivamente. Si solo desea copiar los recursos de origen que no existen en el destino, puede especificar ambos parámetros en el comando de AzCopy:

/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /XO /XN

/Source:C:\myfolder /Dest:http://myaccount.file.core.windows.net/myfileshare /DestKey:<destkey> /S /XO /XN

/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:http://myaccount.blob.core.windows.net/mycontainer1 /SourceKey:<sourcekey> /DestKey:<destkey> /S /XO /XN

Tenga en cuenta que esto no se admite cuando el origen o el destino es una tabla.

Uso de un archivo de respuesta para especificar parámetros de línea de comandos

AzCopy /@:"C:\responsefiles\copyoperation.txt"

Puede incluir cualquier parámetro de la línea de comandos de AzCopy en un archivo de respuesta. AzCopy procesa los parámetros del archivo como si hubieran sido especificados en la línea de comandos, realizando una sustitución directa con el contenido del archivo.

Imaginemos un archivo de respuesta llamado copyoperation.txt, que contiene las siguientes líneas. Cada parámetro de AzCopy se puede especificar en una sola línea

/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /Y

o bien, en líneas independientes:

/Source:http://myaccount.blob.core.windows.net/mycontainer
/Dest:C:\myfolder
/SourceKey:<sourcekey>
/S
/Y

AzCopy genera un error si divide el parámetro en dos líneas, tal como se muestra aquí para el parámetro /sourcekey:

http://myaccount.blob.core.windows.net/mycontainer
 C:\myfolder
/sourcekey:
<sourcekey>
/S
/Y

Uso de varios archivos de respuesta para especificar parámetros de línea de comandos

Imaginemos un archivo de respuesta llamado source.txt que especifica un contenedor de origen:

/Source:http://myaccount.blob.core.windows.net/mycontainer

Y un archivo de respuesta llamado dest.txt que especifica una carpeta de destino en el sistema de archivos:

/Dest:C:\myfolder

Y un archivo de respuesta llamado options.txt que especifica opciones para AzCopy:

/S /Y

Para llamar a AzCopy con estos archivos de respuesta, todos los cuales residen en un directorio C:\responsefiles, use este comando:

AzCopy /@:"C:\responsefiles\source.txt" /@:"C:\responsefiles\dest.txt" /SourceKey:<sourcekey> /@:"C:\responsefiles\options.txt"   

AzCopy procesa este comando como si se incluyeran todos los parámetros individuales en la línea de comandos:

AzCopy /Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /Y

Especificación de una firma de acceso compartido (SAS)

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1 /Dest:https://myaccount.blob.core.windows.net/mycontainer2 /SourceSAS:SAS1 /DestSAS:SAS2 /Pattern:abc.txt

También puede especificar una SAS en el identificador URI del contenedor:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken /Dest:C:\myfolder /S

Carpeta de archivo de diario

Cada vez que emite un comando a AzCopy, comprueba si existe un archivo de diario en la carpeta predeterminada o si existe una carpeta que especificó a través de esta opción. Si el archivo de diario no existe en ningún lugar, AzCopy trata la operación como una nueva y genera un nuevo archivo de diario.

Si el archivo de diario existe, AzCopy comprueba si la línea de comandos escrita coincide con la línea de comandos de dicho archivo. Si las dos líneas de comandos coinciden, AzCopy reanudará la operación incompleta. Si no coinciden, se le pregunta si desea sobrescribir el archivo de diario, iniciar una nueva operación o cancelar la operación actual.

Si desea usar la ubicación predeterminada para el archivo de diario:

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Z

Si omite la opción /Z o especifica la opción /Z sin la ruta de acceso a la carpeta, tal y como se muestra anteriormente, AzCopy crea el archivo de diario en la ubicación predeterminada, que es %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy. Si el archivo de diario ya existe, AzCopy reanuda la operación basándose en dicho archivo.

Si desea especificar una ubicación personalizada para el archivo de diario:

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Z:C:\journalfolder\

Este ejemplo crea el archivo de diario si todavía no existe. Si no existe, AzCopy reanuda la operación basándose en el archivo de diario.

Si desea reanudar una operación de AzCopy:

AzCopy /Z:C:\journalfolder\

Este ejemplo reanuda la última operación que es posible que no terminara.

Generación de un archivo de registro

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /V

Si especifica la opción /V sin proporcionar una ruta de acceso de archivo al registro detallado, AzCopy crea el archivo de registro en la ubicación predeterminada, que es %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy.

De lo contrario, puede crear un archivo de registro en una ubicación personalizada:

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /V:C:\myfolder\azcopy1.log

Tenga en cuenta que si especifica una ruta de acceso relativa después de la opción /V, como por ejemplo /V:test/azcopy1.log, el registro detallado se creará en el directorio de trabajo actual dentro de una subcarpeta llamada test.

Especificación del número de operaciones simultáneas para iniciar

La opción /NC especifica el número de operaciones de copia simultáneas. De manera predeterminada, AzCopy inicia un número determinado de operaciones simultáneas para aumentar el rendimiento de la transferencia de datos. Para las operaciones de tablas, el número de operaciones simultáneas es igual al número de procesadores que se tiene. Para las operaciones de blobs y archivos, el número de operaciones simultáneas es igual a ocho veces el número de procesadores que se tiene. Si ejecuta AzCopy en una red con un ancho de banda bajo, puede especificar un número bajo para /NC con el fin de evitar errores provocados por la competencia de recursos.

Ejecución de AzCopy en el emulador de Azure Storage

Puede ejecutar AzCopy en el emulador de Azure Storage para blobs:

AzCopy /Source:https://127.0.0.1:10000/myaccount/mycontainer/ /Dest:C:\myfolder /SourceKey:key /SourceType:Blob /S

También puede ejecutarlo para tablas:

AzCopy /Source:https://127.0.0.1:10002/myaccount/mytable/ /Dest:C:\myfolder /SourceKey:key /SourceType:Table

Determinación automática del tipo de contenido de un blob

AzCopy determina el tipo de contenido de un blob en función de un archivo JSON que almacena el tipo de contenido en una asignación de extensión de archivo. Este archivo JSON se denomina AzCopyConfig.json y se encuentra en el directorio AzCopy. Si tiene un tipo de archivo que no está en la lista, puede anexar la asignación al archivo JSON:

{
  "MIMETypeMapping": {
    ".myext": "text/mycustomtype",
    .
    .
  }
}

Parámetros de AzCopy

A continuación se describen los parámetros para AzCopy. También puede escribir uno de los siguientes comandos desde la línea de comandos para obtener ayuda en el uso de AzCopy:

  • Para obtener ayuda detallada sobre la línea de comandos de AzCopy: AzCopy /?
  • Para obtener ayuda detallada con algún parámetro de AzCopy: AzCopy /?:SourceKey
  • Para obtener ejemplos de línea de comandos: AzCopy /?:Sample

/Source:"source"

Especifica los datos de origen desde los que copiar. El origen puede ser un directorio del sistema de archivos, un contenedor de blobs, un directorio virtual de blobs, un recurso compartido de archivos de almacenamiento, un directorio de archivos de almacenamiento o una tabla de Azure.

Aplicable a: blobs, archivos, tablas

/Dest:"destination"

Especifica el destino de la copia. El destino puede ser un directorio del sistema de archivos, un contenedor de blobs, un directorio virtual de blobs, un recurso compartido de archivos de almacenamiento, un directorio de archivos de almacenamiento o una tabla de Azure.

Aplicable a: blobs, archivos, tablas

/Pattern:"file-pattern"

Especifica un patrón de archivos que indica qué archivos se van a copiar. El comportamiento del parámetro /Pattern viene determinado por la ubicación de los datos de origen y la presencia de la opción del modo recursivo. El modo recursivo viene especificado por la opción /S.

Si el origen especificado es un directorio del sistema de archivos, se aplican los caracteres comodín estándar y el patrón de archivos proporcionado coincidirá con los archivos del directorio. Si se especifica la opción /S, AzCopy también hará coincidir el patrón especificado con todos los archivos de cualquier subcarpeta que se encuentre bajo el directorio.

Si el origen especificado es un contenedor de blobs o un directorio virtual, entonces los caracteres comodín no se aplican. Si se especifica la opción /S, AzCopy interpreta el patrón de archivos especificado como un prefijo de blobs. Si la opción /S no se especifica, AzCopy hará coincidir el patrón de archivos con los nombres de blob exactos.

Si el origen especificado es un recurso compartido de archivos de Azure, debe especificar el nombre de archivo exacto (p. ej. abc.txt) para copiar un solo archivo, o especificar la opción /S para copiar todos los archivos en el recurso compartido de forma recursiva. Si intenta especificar tanto un patrón de archivos como la opción /S en conjunto, se produce un error.

AzCopy utiliza la coincidencia entre mayúsculas y minúsculas cuando /Soure es un contenedor de blob o el directorio virtual de blob y utiliza la falta de coincidencia entre mayúsculas y minúsculas en todos los demás casos.

El patrón de archivo predeterminado que se usa cuando no se especifica ningún patrón de archivo es . para una ubicación del sistema de archivos o un prefijo vacío para una ubicación de Azure Storage. No se admite la especificación de varios patrones de archivos.

Aplicable a: blobs, archivos

/DestKey:"storage-key"

Especifica la clave de cuenta de almacenamiento para el recurso de destino.

Aplicable a: blobs, archivos, tablas

/DestSAS:"sas-token"

Especifica una firma de acceso compartido (SAS) para los permisos de LECTURA y ESCRITURA del destino (si corresponde). Encierre la SAS con comillas dobles, ya que puede contener caracteres de línea de comandos especiales.

Si el recurso de destino es un contenedor de blobs, un recurso compartido de archivos o tabla, puede especificar esta opción seguida por el token SAS, o bien puede especificar la SAS como parte del URI del contenedor de blob, recurso compartido de archivos o tabla, sin esta opción.

Si el origen y el destino son blobs en ambos casos, el blob de destino debe residir dentro de la misma cuenta de almacenamiento que el blob de origen.

Aplicable a: blobs, archivos, tablas

/SourceKey:"storage-key"

Especifica la clave de cuenta de almacenamiento para el recurso de origen.

Aplicable a: blobs, archivos, tablas

/SourceSAS:"sas-token"

Especifica una firma de acceso compartido (SAS) para los permisos de LECTURA y LISTA del origen (si corresponde). Encierre la SAS con comillas dobles, ya que puede contener caracteres de línea de comandos especiales.

Si el recurso de origen es un contenedor de blobs y no se proporciona una clave ni una SAS, el contenedor de blobs se lee con acceso anónimo.

Si el origen es un recurso compartido de archivos o una tabla, es necesario proporcionar una clave o una SAS.

Aplicable a: blobs, archivos, tablas

/S

Especifica el modo recursivo para operaciones de copia. En el modo recursivo, AzCopy copia todos los blobs o archivos que coinciden con el patrón de archivos especificado, incluidos los que se encuentran en las subcarpetas.

Aplicable a: blobs, archivos

/BlobType:"block" | "page" | "append"

Especifica si el blob de destino es un blob en bloques, un blob en páginas o un blob de anexo. Esta opción solo es aplicable cuando se carga un blob. De lo contrario, se producirá un error. Si el destino es un blob y esta opción no se especifica, AzCopy, de forma predeterminada, creará un blob en bloques.

Aplicable a: blobs

/CheckMD5

Calcula un hash MD5 para datos descargados y comprueba que el hash MD5 almacenado en la propiedad Content-MD5 del blob o archivo coincide con el hash calculado. Si los valores no coinciden, se producirá un error en AzCopy al descargar los datos. La comprobación MD5 se desactiva de forma predeterminada, por lo que debe especificar esta opción para realizar dicha comprobación cuando se descargan datos.

Tenga en cuenta que Azure Storage no garantiza que el hash MD5 almacenado para el blob o archivo esté actualizado. El cliente será el responsable de actualizar el MD5 siempre que el blob o el archivo se modifique. En el caso de imágenes de disco (discos administrados o no administrados), Azure Virtual Machines no actualiza el valor MD5 según va cambiando el contenido del disco, por lo tanto, se producirá un error en /CheckMD5 al descargar imágenes de disco.

AzCopy v8 siempre establece la propiedad Content-MD5 para un blob o archivo de Azure después de cargarlo en el servicio.

Aplicable a: blobs, archivos

/Snapshot

Indica si se desean transferir instantáneas. Esta opción solo es válida cuando el origen es un blob.

El nombre de las instantáneas del blob transferidas se cambia según este formato: nombre-blog (hora de la instantánea).extensión.

De forma predeterminada, las instantáneas no se copian.

Aplicable a: blobs

/V:[verbose-log-file]

Envía mensajes con el estado detallado a un archivo de registro.

De forma predeterminada, el nombre del archivo de registro detallado es AzCopyVerbose.log en %LocalAppData%\Microsoft\Azure\AzCopy. Si especifica una ubicación existente para el archivo en esta opción, el registro detallado se anexa a dicho archivo.

Aplicable a: blobs, archivos, tablas

/Z:[carpeta de archivos de diario]

Especifica una carpeta de archivos de diario para reanudar una operación.

AzCopy siempre admite la reanudación si una operación se ha interrumpido.

Si esta opción no se especifica o si se especifica sin una ruta de acceso a la carpeta, AzCopy crea el archivo de diario en la ubicación predeterminada, que es %LocalAppData%\Microsoft\Azure\AzCopy.

Cada vez que emite un comando a AzCopy, comprueba si existe un archivo de diario en la carpeta predeterminada o si existe una carpeta que especificó a través de esta opción. Si el archivo de diario no existe en ningún lugar, AzCopy trata la operación como una nueva y genera un nuevo archivo de diario.

Si el archivo de diario existe, AzCopy comprueba si la línea de comandos escrita coincide con la línea de comandos de dicho archivo. Si las dos líneas de comandos coinciden, AzCopy reanudará la operación incompleta. Si no coinciden, se le pregunta si desea sobrescribir el archivo de diario, iniciar una nueva operación o cancelar la operación actual.

El archivo de diario se elimina cuando la operación se completa correctamente.

Tenga en cuenta que la reanudación de una operación a partir de un archivo de diario creado por una versión anterior de AzCopy no se admite.

Aplicable a: blobs, archivos, tablas

/@:"parameter-file"

Especifica un archivo que contiene parámetros. AzCopy procesa los parámetros del archivo como si hubieran sido especificados en la línea de comandos.

En un archivo de respuesta, puede especificar varios parámetros en una sola línea o especificar cada parámetro en su propia línea. Tenga en cuenta que un parámetro individual no puede ocupar varias líneas.

Los archivos de respuesta pueden incluir líneas de comentario que comiencen con el símbolo #.

Puede especificar varios archivos de respuesta. Sin embargo, tenga en cuenta que AzCopy no admite archivos de respuesta anidados.

Aplicable a: blobs, archivos, tablas

/Y

Suprime todos los mensajes de confirmación de AzCopy. Esta opción también permite el uso de tokens de SAS de solo escritura para escenarios de carga de datos, cuando no se especifican /XO y /XN.

Aplicable a: blobs, archivos, tablas

/L

Especifica solamente una operación de descripción; no se copian datos.

AzCopy interpreta el uso de esta opción como una simulación para ejecutar la línea de comandos sin esta opción /L y cuenta el número de objetos que se va a copiar; puede especificar la opción /V al mismo tiempo para comprobar qué objetos se copian en el registro detallado.

El comportamiento de esta opción también está determinado por la ubicación de los datos de origen y la presencia de la opción /S del modo recursivo y la opción /Pattern del patrón de archivos.

AzCopy requiere el permiso LISTA y LECTURA de esta ubicación de origen cuando se usa esta opción.

Aplicable a: blobs, archivos

/MT

Establece la hora de la última modificación del archivo descargado para que coincida con la del blob o archivo de origen.

Aplicable a: blobs, archivos

/XN

Excluye un recurso origen más nuevo. El recurso no se copia si la hora de la última modificación del origen es la misma o más reciente que el destino.

Aplicable a: blobs, archivos

/XO

Excluye un recurso de origen más antiguo. El recurso no se copia si la hora de la última modificación del origen es la misma o anterior que el destino.

Aplicable a: blobs, archivos

/A

Carga solamente archivos que tienen el atributo de archivado establecido.

Aplicable a: blobs, archivos

/IA:[RASHCNETOI]

Carga solamente archivos que tienen cualquiera de los atributos especificados establecido.

Los atributos disponibles son los siguientes:

  • R = Archivos de solo lectura
  • A = Archivos listos para archivarse
  • S = Archivos del sistema
  • H = Archivos ocultos
  • C = Archivos comprimidos
  • N = Archivos normales
  • E = Archivos cifrados
  • T = Archivos temporales
  • O = Archivos fuera de línea
  • I = Archivos no indexados

Aplicable a: blobs, archivos

/XA:[RASHCNETOI]

Excluye archivos que tienen cualquiera de los atributos especificados establecido.

Los atributos disponibles son los siguientes:

  • R = Archivos de solo lectura
  • A = Archivos listos para archivarse
  • S = Archivos del sistema
  • H = Archivos ocultos
  • C = Archivos comprimidos
  • N = Archivos normales
  • E = Archivos cifrados
  • T = Archivos temporales
  • O = Archivos fuera de línea
  • I = Archivos no indexados

Aplicable a: blobs, archivos

/Delimiter:"delimiter"

Indica el carácter delimitador usado para delimitar directorios virtuales en un nombre de blob.

De forma predeterminada, AzCopy usa / como carácter delimitador. Sin embargo, AzCopy admite el uso de cualquier carácter convencional (como @, # o %) como delimitador. Si necesita incluir uno de estos caracteres especiales en la línea de comandos, encierre el nombre de archivo entre comillas dobles.

Esta opción solamente se aplica para descarga de blobs.

Aplicable a: blobs

/NC:"number-of-concurrent-operations"

Especifica el número de operaciones simultáneas.

AzCopy inicia de manera predeterminada un número determinado de operaciones simultáneas para aumentar el rendimiento de la transferencia de datos. Tenga en cuenta que un número elevado de operaciones simultáneas en un entorno con poco ancho de banda puede saturar la conexión de red e impedir que las operaciones se completen. Reduzca el número de operaciones simultáneas basándose en el ancho de banda de red disponible real.

El límite máximo de operaciones simultáneas es de 512.

Aplicable a: blobs, archivos, tablas

/SourceType:"Blob" | "Table"

Especifica que el recurso source es un blob disponible en el entorno de desarrollo local, que se ejecuta en el emulador de almacenamiento.

Aplicable a: blobs, tablas

/DestType:"Blob" | "Table"

Especifica que el recurso destination es un blob disponible en el entorno de desarrollo local, que se ejecuta en el emulador de almacenamiento.

Aplicable a: blobs, tablas

/PKRS:"key1#key2#key3#..."

Divide el rango de claves de partición para habilitar la exportación de datos de tablas en paralelo, lo que aumenta la velocidad de la operación de exportación.

Si esta opción no se especifica, AzCopy utiliza un solo subproceso para exportar las entidades de tabla. Por ejemplo, si el usuario especifica /PKRS:"aa#bb", AzCopy inicia tres operaciones simultáneas.

Cada operación exporta uno de los tres rangos de claves de partición, como se muestra a continuación:

[first-partition-key, aa)

[aa, bb)

[bb, last-partition-key]

Aplicable a: tablas

/SplitSize:"file-size"

Especifica el tamaño dividido del archivo exportado en MB; el valor mínimo permitido es 32.

Si esta opción no se especifica, AzCopy exporta los datos de la tabla a un único archivo.

Si los datos de la tabla se exportan a un blob y el tamaño del archivo exportado alcanza el límite de 200 GB establecido para el tamaño de un blob, AzCopy divide el archivo exportado, incluso si no se ha especificado esta opción.

Aplicable a: tablas

/EntityOperation:"InsertOrSkip" | "InsertOrMerge" | "InsertOrReplace"

Especifica el comportamiento de la importación de los datos de la tabla.

  • InsertOrSkip: omite una entidad existente o inserta una nueva entidad si esta no existe en la tabla.
  • InsertOrMerge: combina una entidad existente o inserta una nueva entidad si esta no existe en la tabla.
  • InsertOrReplace: reemplaza una entidad existente o inserta una nueva entidad si esta no existe en la tabla.

Aplicable a: tablas

/Manifest:"manifest-file"

Especifica el archivo de manifiesto para la operación de exportación e importación de tablas.

Esta opción es opcional durante la operación de exportación, AzCopy genera un archivo de manifiesto con nombre predefinido si esta opción no se especifica.

Esta opción es necesaria durante la operación de importación para localizar los archivos de datos.

Aplicable a: tablas

/SyncCopy

Indica si se van a copiar archivos o blobs entre dos extremos de Azure Storage de forma sincrónica.

De forma predeterminada, AzCopy usa la copia asincrónica del servidor. Especifique esta opción para hacer una copia sincrónica, que se descarga blobs o archivos en la memoria local y, a continuación, los carga en Azure Storage.

Puede usar esta opción al copiar archivos dentro del almacenamiento de blobs o el almacenamiento de archivos o del almacenamiento de blobs al almacenamiento de archivos o viceversa.

Aplicable a: blobs, archivos

/SetContentType:"content-type"

Especifica el tipo de contenido MIME de los blobs o archivos de destino.

AzCopy establece el tipo de contenido de un blob o archivo en application/octet-stream de forma predeterminada. Puede establecer el tipo de contenido para todos los blobs o archivos especificando explícitamente un valor para esta opción.

Si especifica sin un valor, AzCopy establece cada tipo de contenido de blob o archivo según su extensión de archivo.

Aplicable a: blobs, archivos

/PayloadFormat:"JSON" | "CSV"

Especifica el formato del archivo de datos exportados de tabla.

Si no se especifica esta opción, de forma predeterminada, AzCopy exporta el archivo de datos de tabla en formato JSON.

Aplicable a: tablas

Problemas conocidos y prácticas recomendadas

Veamos algunos de los problemas conocidos y los procedimientos recomendados.

Limitación de escrituras concurrentes mientras se copian datos

Cuando copie blobs o archivos con AzCopy, recuerde que otra aplicación puede estar modificando los datos mientras se copian. Si es posible, asegúrese de que los datos no se modifican durante la operación de copia. Por ejemplo, cuando copie un VHD asociado con una máquina virtual de Azure, asegúrese de que ninguna otra aplicación está escribiendo actualmente en el VHD. Una buena manera de hacerlo es mediante la concesión de los recursos que se van a copiar. Alternativamente, puede crear una instantánea del VHD primero y, después, copiar la instantánea.

Si no puede impedir que otras aplicaciones escriban en blobs o archivos mientras se copian, recuerde que para cuando el trabajo finalice, los recursos copiados puede que ya no tengan una paridad total con los recursos de origen.

Habilitar algoritmos MD5 que cumplan con FIPS para AzCopy cuando "Use algoritmos que cumplen con FIPS para el cifrado, firma y operaciones hash".

AzCopy usa de forma predeterminada la implementación de .NET MD5 para calcular el MD5 al copiar los objetos, pero hay algunos requisitos de seguridad que necesitan AzCopy para habilitar la configuración de MD5 compatible con FIPS.

Puede crear un archivo app.config AzCopy.exe.config con la propiedad AzureStorageUseV1MD5 y separarlo con AzCopy.exe.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="AzureStorageUseV1MD5" value="false"/>
  </appSettings>
</configuration>

Respecto de la propiedad "AzureStorageUseV1MD5":

  • True (valor predeterminado): AzCopy usa la implementación de MD5 .NET.
  • False: AzCopy usa el algoritmo MD5 compatible con FIPS.

Los algoritmos compatibles con FIPS están deshabilitados de manera predeterminada en Windows. Puede cambiar esta configuración de directiva en su máquina. En la ventana Ejecutar (Windows+R), escriba secpol.msc para abrir la ventana Directiva de seguridad local. En la ventana Configuración de seguridad, vaya a Configuración de seguridad>Directivas locales>Opciones de seguridad. Ubique la directiva System cryptography: Use FIPS-compliant algorithms for encryption, hashing and signing (Criptografía de sistema: usar algoritmos compatibles con FIPS para cifrado, hash y firma). Haga doble clic en la directiva para ver el valor en la columna Configuración de seguridad.

Pasos siguientes

Para más información sobre Azure Storage y AzCopy, consulte los recursos siguientes:

Documentación de Azure Storage:

Publicaciones en blobs de Azure Storage