Compartir vía


Solución de problemas en AzCopy v10

En este artículo se describen los problemas comunes que pueden surgir al usar AzCopy. Este artículo también le ayuda a identificar las causas de los problemas y sugiere cómo resolverlos.

Identificación de problemas

Para determinar si un trabajo se realiza correctamente, examine el código de salida.

Si el código de salida es 0-success, el trabajo finalizó correctamente.

Si el código de salida es 1-error, examine el archivo de registro. Después de comprender el mensaje de error exacto, puede buscar más fácilmente las palabras clave adecuadas y determinar la solución. Para más información, consulte Búsqueda de errores y reanudación de trabajos mediante archivos de registro y planeamiento en AzCopy.

Si el código de salida es 2-panic, compruebe si el archivo de registro existe. Si el archivo no existe, registre un error o póngase en contacto con el soporte técnico.

El sistema podría generar cualquier otro código de salida distinto de cero (como OOMKilled). Consulte la documentación del sistema operativo para ver los códigos de salida especiales.

Errores "403"

Los errores "403" son comunes. A veces son benignos y no provocan una transferencia con errores. Por ejemplo, en los registros de AzCopy, es posible que vea que una HEAD solicitud recibió errores "403". Esos errores aparecen cuando AzCopy comprueba si un recurso es público. En la mayor parte de los casos, puede ignorarlos.

En algunos casos, los errores "403" pueden provocar una transferencia con errores. Si se produce este problema, es probable que se produzcan errores en otros intentos de transferencia de archivos hasta que resuelva el problema. Los errores "403" pueden deberse a problemas de autenticación y autorización. También pueden producirse si la configuración del firewall de la cuenta de almacenamiento bloquea las solicitudes.

Problemas de autenticación y autorización

Los errores "403" que impiden la transferencia de datos se producen debido a problemas que implican tokens de SAS, roles de control de acceso basado en rol (RBAC de Azure) y configuraciones de lista de control de acceso (ACL).

Tokens de SAS

Si usa un token de firma de acceso compartido (SAS), asegúrese de que las siguientes instrucciones son verdaderas:

  • Las horas de expiración e inicio del token de SAS son adecuadas.

  • Ha seleccionado todos los permisos necesarios para el token.

  • Ha generado el token mediante un SDK o una herramienta oficiales. Pruebe el Explorador de Storage si aún no lo ha hecho.

Azure RBAC

Si usa roles RBAC de Azure mediante el azcopy login comando , compruebe que tiene asignados los roles de Azure adecuados a su identidad (por ejemplo, el rol Colaborador de datos de Storage Blob).

Para más información sobre los roles de Azure, consulte Asignación de un rol de Azure para acceder a datos de blobs.

ACL

Si usa listas de control de acceso (ACL), compruebe que la identidad aparece en una entrada de ACL para cada archivo o directorio al que desea acceder. Además, asegúrese de que cada entrada de ACL refleje el nivel de permiso adecuado.

Para más información sobre las listas y las entradas de ACL, consulte Listas de control de acceso (ACL) en Azure Data Lake Storage Gen2.

Para aprender más sobre cómo incorporar roles de Azure con listas de control de acceso y cómo el sistema los evalúa para tomar decisiones relacionadas con la autorización, consulte Modelo de control de acceso en Azure Data Lake Storage Gen2.

Problemas con el firewall y el punto de conexión privado

Si la configuración del firewall de almacenamiento no permite el acceso desde el componente de hospedaje en el que se ejecuta AzCopy, las operaciones de AzCopy devuelven un código de error HTTP "403".

Nota:

En este artículo, el término componente de hospedaje hace referencia a un equipo físico, una máquina virtual (VM) o un contenedor.

Ámbito permitido para las operaciones de copia

La AllowedCopyScope propiedad de una cuenta de almacenamiento se usa para especificar los entornos desde los que puede copiar datos en la cuenta de destino. Esta propiedad se muestra en Azure Portal como ámbito permitido para las operaciones de copia (versión preliminar). De forma predeterminada, la propiedad no tiene un valor. La propiedad no devuelve un valor hasta que se establece explícitamente. La AllowedCopyScope propiedad tiene tres valores posibles, como se muestra en la tabla siguiente.

Valor Description
(null) (Valor predeterminado) Permite copiar desde cualquier cuenta de almacenamiento a la cuenta de destino.
Microsoft Entra ID Permite copiar desde solo las cuentas que están dentro del mismo inquilino de Microsoft Entra que la cuenta de destino.
PrivateLink Permite copiar solo desde cuentas de almacenamiento que tengan vínculos privados a la misma red virtual que la cuenta de destino.

Para obtener más información sobre esta propiedad y su configuración asociada, consulte Restringir el origen de las operaciones de copia a una cuenta de almacenamiento.

Transferencia de datos desde o a un componente de hospedaje local

Si va a cargar o descargar datos entre una cuenta de almacenamiento y un componente de hospedaje local, asegúrese de que el componente de hospedaje que ejecuta AzCopy pueda acceder a la cuenta de almacenamiento de origen o de destino. Es posible que tenga que usar reglas de red IP en la configuración del firewall de las cuentas de origen o de destino para permitir el acceso desde la dirección IP pública del componente de hospedaje.

Transferencia de datos entre cuentas de almacenamiento

Los errores de autorización "403" pueden impedir que transfiera datos entre cuentas mediante el componente de hospedaje de cliente en el que se ejecuta AzCopy.

Si va a copiar datos entre cuentas de almacenamiento, asegúrese de que el componente de hospedaje que ejecuta AzCopy pueda acceder tanto al origen como a la cuenta de destino. Es posible que tenga que usar reglas de red IP en la configuración del firewall de las cuentas de origen y destino para permitir el acceso desde la dirección IP pública del componente de hospedaje. El servicio usa la dirección IP del componente de hospedaje del cliente de AzCopy para autorizar el origen al tráfico de destino. Para información sobre cómo agregar una dirección IP pública a la configuración del firewall de una cuenta de almacenamiento, consulte Concesión de acceso desde un intervalo IP de Internet.

En caso de que la máquina virtual no tenga o no pueda tener una dirección IP pública, considere la posibilidad de usar un punto de conexión privado. Consulte Uso de puntos de conexión privados para Azure Storage.

Private Link está en el nivel de red virtual o subred. Si desea que las solicitudes de AzCopy pasen por Private Link, AzCopy debe realizar esas solicitudes desde una máquina virtual que se ejecuta en esa red virtual o subred. Por ejemplo, supongamos que configura Private Link en VNet1/Subnet1, pero la máquina virtual en la que se ejecuta AzCopy está en VNet1/Subnet2. En este escenario, las solicitudes de AzCopy no usan Private Link y se espera que se produzcan errores en las solicitudes.

Si se producen errores tcp como "dial tcp: lookup proxy.x.x: ningún host de este tipo", significa que el entorno no está configurado para usar el proxy correcto o usa un proxy avanzado que AzCopy no reconoce.

Debe actualizar la configuración del proxy para reflejar las configuraciones correctas. Consulte Configuración del proxy.

También puede omitir el proxy estableciendo la variable NO_PROXY="*"de entorno .

Estos son los puntos de conexión que requiere AzCopy:

Puntos de conexión de inicio de sesión Puntos de conexión de Azure Storage
login.microsoftonline.com (Azure global) (blob | file | dfs).core.windows.net (Azure global)
login.chinacloudapi.cn (Azure China) (blob | file | dfs).core.chinacloudapi.cn (Azure China)
login.microsoftonline.de (Azure Alemania) (blob | file | dfs).core.cloudapi.de (Azure Alemania)
login.microsoftonline.us (Azure Gobierno de EE. UU.) (blob | file | dfs).core.usgovcloudapi.net (Azure Gobierno de EE. UU.)

x509: certificado firmado por una entidad desconocida

Este error suele estar relacionado con el uso de un proxy que usa un certificado de Capa de sockets seguros (SSL) que no es de confianza para el sistema operativo. Compruebe la configuración y asegúrese de que el certificado es de confianza a nivel del sistema operativo.

Se recomienda agregar el certificado al almacén de certificados raíz del componente de hospedaje porque es donde se conservan las entidades de confianza.

Parámetros no reconocidos

Si recibe un mensaje de error que indica que los parámetros no se reconocen, asegúrese de que usa la versión correcta de AzCopy. AzCopy v8 y versiones anteriores están en desuso. AzCopy v10 es la versión actual y es una reescritura completa que no comparte ninguna sintaxis con las versiones anteriores. Consulte la Guía de migración de AzCopy para v8 a v10.

Además, asegúrese de usar mensajes de ayuda integrados mediante el -h modificador junto con cualquier comando (por ejemplo, azcopy copy -h). Consulte Obtención del comando de ayuda. Para ver la misma información en línea, consulte azcopy copy.

Para ayudarle a comprender los comandos, proporcionamos una herramienta de educación que se encuentra en la guía de comandos de AzCopy. Esta herramienta muestra los comandos de AzCopy más conocidos junto con las marcas de comandos más conocidas. Para buscar comandos de ejemplo, consulte Transferencia de datos. Si tiene una pregunta, intente buscar primero en los problemas existentes de GitHub para ver si ya se ha respondido.

Error de directiva de acceso condicional

Es posible que reciba el siguiente error al invocar el azcopy login comando:

No se pudo realizar el comando de inicio de sesión: no se pudo iniciar sesión con tenantID "common", punto de conexión de directorio de Azure "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: el usuario intentó iniciar sesión en un dispositivo desde una plataforma (desconocido) que actualmente no se admite a través de la directiva de acceso condicional. Las plataformas de dispositivos compatibles son: tipos de iOS, Android, Mac y Windows. Id. de seguimiento: -REDACTED- Id. de correlación: -REDACTED- Marca de tiempo: 2021-01-05 01:58:28Z

Este error significa que el administrador configuró una directiva de acceso condicional que especifica el tipo de dispositivo desde el que puede iniciar sesión. AzCopy usa el flujo de código del dispositivo. El flujo de código del dispositivo no puede garantizar que el componente de hospedaje en el que use la herramienta AzCopy también es desde donde inicia sesión.

Si el dispositivo está entre la lista de plataformas compatibles, es posible que pueda usar Explorador de Storage. Explorador de Storage integra AzCopy para todas las transferencias de datos (pasa tokens a AzCopy a través del almacén de secretos), pero proporciona un flujo de trabajo de inicio de sesión que admite el paso de información del dispositivo. AzCopy también admite identidades administradas y entidades de servicio como alternativa de inicio de sesión.

Si el dispositivo no está en la lista de plataformas compatibles, póngase en contacto con el administrador para obtener ayuda.

Servidor ocupado, errores de red o tiempos de espera

Si ve un gran número de solicitudes con errores que tienen el estado "503 Server Busy", el servicio de almacenamiento limita las solicitudes. Si ve errores de red o tiempos de espera, es posible que intente insertar demasiados datos para que la infraestructura lo controle. En todos los casos, la solución alternativa es muy parecida.

Si ve que un archivo grande no se puede copiar repetidamente porque se produce un error en determinados fragmentos cada vez, intente limitar las conexiones de red simultáneas o el límite de rendimiento en función de su caso específico. Se recomienda reducir drásticamente el rendimiento al principio, observar si esta acción resolvió el problema inicial y, a continuación, aumentar el rendimiento de nuevo hasta lograr un equilibrio general.

Para obtener más información, consulte Optimización del rendimiento de AzCopy con Azure Storage.

Si va a copiar datos entre cuentas mediante AzCopy, la calidad y confiabilidad de la red desde la que ejecuta AzCopy podría afectar al rendimiento general. Aunque los datos se transfieren de servidor a servidor, AzCopy inicia llamadas para que cada archivo se copie entre los puntos finales del servicio.

Restricciones conocidas en AzCopy

  • No se admite la copia de datos de nubes gubernamentales a nubes comerciales. Sin embargo, se admite la copia de datos de nubes comerciales a nubes gubernamentales.

  • No se admite la copia asincrónica del lado de servicio. AzCopy solo realiza una copia sincrónica. En otras palabras, cuando finaliza el trabajo, los datos se han movido.

  • Al copiar en un recurso compartido de archivos de Azure, si olvidó especificar la --preserve-smb-permissions marca y no desea volver a transferir los datos, considere la posibilidad de usar Robocopy para que se vuelvan a incluir los permisos.

  • Azure Functions tiene un punto de conexión diferente para la autenticación MSI. AzCopy aún no admite la autenticación MSI.

Consulte también

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.