Résoudre les problèmes liés à AzCopy v10

Cet article décrit les problèmes courants que vous pouvez rencontrer lors de l’utilisation d’AzCopy, vous aide à identifier les causes de ces problèmes, puis suggère des moyens de les résoudre.

Identification des problèmes

Vous pouvez déterminer si un travail réussit en examinant le code de sortie.

Si le code de sortie est , le travail s’est 0-successterminé avec succès.

Si le code de sortie est 1-error, examinez le fichier journal. Une fois que vous avez compris le message d’erreur exact, il devient beaucoup plus facile de rechercher les mots clés appropriés et de trouver la solution. Pour en savoir plus, consultez Rechercher des erreurs et reprendre des travaux à l’aide de fichiers journaux et de plan dans AzCopy.

Si le code de sortie est 2-panic, case activée que le fichier journal existe. Si le fichier n’existe pas, déposez un bogue ou contactez le support technique.

Si le code de sortie est un autre code de sortie différent de zéro, il peut s’agir d’un code de sortie du système. Par exemple : OOMKilled. Consultez la documentation de votre système d’exploitation pour obtenir des codes de sortie spéciaux.

Erreurs 403

Il est courant de rencontrer des erreurs 403. Parfois, ils sont bénins et n’entraînent pas d’échec du transfert. Par exemple, dans les journaux AzCopy, vous pouvez voir qu’une HEAD requête a reçu des erreurs 403. Ces erreurs apparaissent quand AzCopy vérifie si une ressource est publique. Dans la plupart des cas, vous pouvez ignorer ces instances.

Dans certains cas, les erreurs 403 peuvent entraîner un échec de transfert. Si cela se produit, d’autres tentatives de transfert de fichiers échoueront probablement jusqu’à ce que vous résolvez le problème. Des erreurs 403 peuvent se produire à la suite de problèmes d’authentification et d’autorisation. Elles peuvent également se produire lorsque les demandes sont bloquées en raison de la configuration du pare-feu du compte de stockage.

Problèmes d’authentification/autorisation

403 erreurs qui empêchent le transfert de données se produisent en raison de problèmes avec les jetons SAP, les rôles de contrôle d’accès en fonction du rôle (Azure RBAC) et les configurations de liste de contrôle d’accès (ACL).

Jetons SAP

Si vous utilisez un jeton de signature d’accès partagé (SAP), vérifiez les points suivants :

  • Les heures d’expiration et de début du jeton SAP sont appropriées.

  • Vous avez sélectionné toutes les autorisations nécessaires pour le jeton.

  • Vous avez généré le jeton à l’aide d’un sdk ou d’un outil officiel. Essayez Explorateur Stockage si ce n’est pas déjà fait.

Azure RBAC

Si vous utilisez des rôles RBAC Azure via la azcopy login commande , vérifiez que les rôles Azure appropriés sont attribués à votre identité (par exemple, le rôle Contributeur aux données Blob du stockage).

Pour en savoir plus sur les rôles Azure, consultez Attribuer un rôle Azure pour l’accès aux données d’objets blob.

Acl

Si vous utilisez des listes de contrôle d’accès (ACL), vérifiez que votre identité apparaît dans une entrée ACL pour chaque fichier ou répertoire auquel vous avez l’intention d’accéder. Vérifiez également que chaque entrée de liste de contrôle d’accès reflète le niveau d’autorisation approprié.

Pour en savoir plus sur les listes de contrôle d’accès et les entrées ACL, consultez Listes de contrôle d’accès (ACL) dans Azure Data Lake Storage Gen2.

Pour en savoir plus sur la façon d’incorporer des rôles Azure avec des listes de contrôle d’accès et sur la façon dont le système les évalue pour prendre des décisions d’autorisation, consultez Modèle de contrôle d’accès dans Azure Data Lake Storage Gen2.

Problèmes de pare-feu et de point de terminaison privé

Si la configuration du pare-feu de stockage n’est pas configurée pour autoriser l’accès à partir de l’ordinateur sur lequel AzCopy s’exécute, les opérations AzCopy retournent une erreur HTTP 403.

Transférer des données depuis ou vers un ordinateur local

Si vous chargez ou téléchargez des données entre un compte de stockage et un ordinateur local, assurez-vous que l’ordinateur qui exécute AzCopy est en mesure d’accéder au compte de stockage source ou de destination. Vous devrez peut-être utiliser des règles de réseau IP dans les paramètres de pare-feu des comptes source ou de destination pour autoriser l’accès à partir de l’adresse IP publique de l’ordinateur.

Transférer des données entre des comptes de stockage

Les erreurs d’autorisation 403 peuvent vous empêcher de transférer des données entre des comptes à l’aide de l’ordinateur client sur lequel AzCopy s’exécute.

Si vous copiez des données entre des comptes de stockage, assurez-vous que l’ordinateur qui exécute AzCopy est en mesure d’accéder au compte source et au compte de destination. Vous devrez peut-être utiliser des règles de réseau IP dans les paramètres de pare-feu des comptes source et de destination pour autoriser l’accès à partir de l’adresse IP publique de l’ordinateur. Le service utilise l’adresse IP de l’ordinateur client AzCopy pour autoriser le trafic source vers le trafic de destination. Pour savoir comment ajouter une adresse IP publique aux paramètres de pare-feu d’un compte de stockage, consultez Accorder l’accès à partir d’une plage d’adresses IP Internet.

Si votre machine virtuelle n’a pas ou ne peut pas avoir d’adresse IP publique, envisagez d’utiliser un point de terminaison privé. Consultez Utiliser des points de terminaison privés pour le stockage Azure.

Private Link se trouve au niveau du réseau virtuel (VNet)/sous-réseau. Si vous souhaitez que les demandes AzCopy passent par Private Link, AzCopy doit effectuer ces requêtes à partir d’une machine virtuelle s’exécutant dans ce réseau virtuel/sous-réseau. Par exemple, si vous configurez Private Link dans VNet1/Subnet1, mais que la machine virtuelle sur laquelle AzCopy s’exécute se trouve dans VNet1/Subnet2, les requêtes AzCopy n’utilisent pas Private Link et elles sont censées échouer.

Si vous rencontrez des erreurs TCP telles que « dial tcp : lookup proxy.x.x : no such host », cela signifie que votre environnement n’est pas configuré pour utiliser le proxy correct ou que vous utilisez un proxy avancé qu’AzCopy ne reconnaît pas.

Vous devez mettre à jour les paramètres du proxy pour refléter les configurations correctes. Consultez Configurer les paramètres du proxy.

Vous pouvez également contourner le proxy en définissant la variable NO_PROXY="*"d’environnement .

Voici les points de terminaison qu’AzCopy doit utiliser :

Se connecter aux points de terminaison Points de terminaison de stockage Azure
login.microsoftonline.com (Azure global) (blob | file | dfs).core.windows.net (Azure global)
login.chinacloudapi.cn (Azure Chine) (blob | file | dfs).core.chinacloudapi.cn (Azure Chine)
login.microsoftonline.de (Azure Allemagne) (blob | file | dfs).core.cloudapi.de (Azure Allemagne)
login.microsoftonline.us (Azure US Government) (blob | file | dfs).core.usgovcloudapi.net (Azure US Government)

x509 : certificat signé par une autorité inconnue

Cette erreur est souvent liée à l’utilisation d’un proxy, qui utilise un certificat SSL (Secure Sockets Layer) qui n’est pas approuvé par le système d’exploitation. Vérifiez vos paramètres et assurez-vous que le certificat est approuvé au niveau du système d’exploitation.

Nous vous recommandons d’ajouter le certificat au magasin de certificats racine de votre ordinateur, car c’est là que les autorités approuvées sont conservées.

Paramètres non reconnus

Si vous recevez un message d’erreur indiquant que vos paramètres ne sont pas reconnus, vérifiez que vous utilisez la version correcte d’AzCopy. AzCopy V8 et les versions antérieures sont déconseillées. AzCopy V10 est la version actuelle, et il s’agit d’une réécriture complète qui ne partage aucune syntaxe avec les versions précédentes. Reportez-vous au Guide de migration AzCopy pour les versions 8 vers v10.

Veillez également à utiliser les messages d’aide intégrés en utilisant le -h commutateur avec n’importe quelle commande (par exemple : azcopy copy -h). Consultez Obtenir l’aide sur les commandes. Pour afficher les mêmes informations en ligne, consultez azcopy copy.

Pour vous aider à comprendre les commandes, nous fournissons un outil de formation situé dans le GUIDE DE COMMANDES AZCOPY. Cet outil présente les commandes AzCopy les plus populaires, ainsi que les indicateurs de commande les plus populaires. Nos exemples sont ici. Si vous avez une question, essayez d’abord d’effectuer une recherche dans les problèmes GitHub existants pour voir s’il y a déjà eu réponse.

Erreur de stratégie d’accès conditionnel

Vous pouvez recevoir l’erreur suivante lorsque vous appelez la azcopy login commande :

Échec de l’exécution de la commande de connexion : échec de la connexion avec tenantID « common », point de terminaison d’annuaire Azure «https://login.microsoftonline.com" ;, autorest/adal/devicetoken : -REDACTED- AADSTS50005 : L’utilisateur a essayé de se connecter à un appareil à partir d’une plateforme (inconnue) qui n’est actuellement pas prise en charge par le biais de la stratégie d’accès conditionnel. Les plateformes d’appareils prises en charge sont les suivantes : versions iOS, Android, Mac et Windows. ID de trace : -REDACTED- CORRELATION ID : -REDACTED- Timestamp : 2021-01-05 01 :58 :28Z

Cette erreur signifie que votre administrateur a configuré une stratégie d’accès conditionnel qui spécifie le type d’appareil à partir duquel vous pouvez vous connecter. AzCopy utilise le flux de code de l’appareil, ce qui ne peut pas garantir que l’ordinateur sur lequel vous utilisez l’outil AzCopy est également l’endroit où vous vous connectez.

Si votre appareil fait partie de la liste des plateformes prises en charge, vous pourrez peut-être utiliser Explorateur Stockage, qui intègre AzCopy pour tous les transferts de données (il transmet des jetons à AzCopy via le magasin de secrets), mais fournit un flux de travail de connexion qui prend en charge le passage des informations sur l’appareil. AzCopy prend également en charge les identités managées et les principaux de service, qui peuvent être utilisés comme alternative.

Si votre appareil ne figure pas dans la liste des plateformes prises en charge, contactez votre administrateur pour obtenir de l’aide.

Serveur occupé, erreurs réseau ou délais d’expiration

Si vous voyez un grand nombre de demandes ayant échoué avec le status « 503 Server Busy », vos demandes sont limitées par le service de stockage. Si vous constatez des erreurs réseau ou des délais d’expiration, vous essayez peut-être de transmettre trop de données dans votre infrastructure, et cette infrastructure a des difficultés à les gérer. Dans tous les cas, la solution de contournement est similaire.

Si vous voyez un fichier volumineux échouer à plusieurs reprises en raison de l’échec de certains blocs à chaque fois, essayez de limiter les connexions réseau simultanées ou la limite de débit en fonction de votre cas spécifique. Nous vous suggérons de réduire considérablement les performances au début, d’observer s’il a résolu le problème initial, puis d’augmenter à nouveau les performances jusqu’à ce qu’un équilibre global soit atteint.

Pour plus d’informations, consultez Optimiser les performances d’AzCopy avec Stockage Azure.

Si vous copiez des données entre des comptes à l’aide d’AzCopy, la qualité et la fiabilité du réseau à partir duquel vous exécutez AzCopy peuvent avoir un impact sur les performances globales. Même si les données sont transférées de serveur à serveur, AzCopy lance des appels pour chaque fichier à copier entre les points de terminaison de service.

Contraintes connues avec AzCopy

  • La copie de données de clouds gouvernementaux vers des clouds commerciaux n’est pas prise en charge. Toutefois, la copie de données à partir de clouds commerciaux vers des clouds gouvernementaux est prise en charge.

  • La copie asynchrone côté service n’est pas prise en charge. AzCopy effectue uniquement une copie synchrone. En d’autres termes, à la fin du travail, les données ont été déplacées.

  • Lors de la copie vers un partage de fichiers Azure, si vous avez oublié de spécifier l’indicateur --preserve-smb-permissions et que vous ne souhaitez pas transférer à nouveau les données, envisagez d’utiliser Robocopy pour transférer les autorisations.

  • Azure Functions a un point de terminaison différent pour l’authentification MSI, qu’AzCopy ne prend pas encore en charge.

Voir aussi

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.