Partage via


Résoudre les problèmes dans AzCopy v10

Cet article décrit les problèmes courants que vous pouvez rencontrer lorsque vous utilisez AzCopy. Cet article vous aide également à identifier les causes des problèmes et vous suggère comment 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, vous pouvez plus facilement rechercher les mots clés appropriés et déterminer 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 si le fichier journal existe. Si le fichier n’existe pas, déposez un bogue ou contactez le support technique.

Tout autre code de sortie différent de zéro (tel que OOMKilled) peut être généré par le système. Consultez la documentation de votre système d’exploitation pour obtenir des codes de sortie spéciaux.

Erreurs « 403 »

Les erreurs « 403 » sont courantes. Parfois, ils sont bénins et ne provoquent 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 ce problème se produit, d’autres tentatives de transfert de fichiers sont susceptibles d’échouer tant que vous n’avez pas résolu le problème. Les erreurs « 403 » peuvent être provoquées par des problèmes d’authentification et d’autorisation. Elles peuvent également se produire si les demandes sont bloquées par la configuration du pare-feu du compte de stockage.

Problèmes d’authentification et d’autorisation

Les erreurs « 403 » qui empêchent le transfert de données se produisent en raison de problèmes impliquant des jetons SAP, des rôles de contrôle d’accès en fonction du rôle (Azure RBAC) et des 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 que les instructions suivantes sont vraies :

  • 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 de liste de contrôle d’accès 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’autorise pas l’accès à partir du composant d’hébergement sur lequel AzCopy s’exécute, les opérations AzCopy retournent un code d’erreur HTTP « 403 ».

Remarque

Dans cet article, le terme composant d’hébergement fait référence à un ordinateur physique, une machine virtuelle ou un conteneur.

Étendue autorisée pour les opérations de copie

La AllowedCopyScope propriété d’un compte de stockage est utilisée pour spécifier les environnements à partir desquels vous pouvez copier des données vers le compte de destination. Cette propriété s’affiche dans le Portail Azure en tant que paramètre de configuration Étendue autorisée pour les opérations de copie (préversion). Par défaut, aucune valeur n’est attribuée à la propriété. La propriété ne retourne pas de valeur tant que vous ne l’avez pas définie explicitement. La AllowedCopyScope propriété a trois valeurs possibles, comme indiqué dans le tableau suivant.

Valeur Description
(null) (Valeur par défaut) Autorise la copie de n’importe quel compte de stockage vers le compte de destination.
Microsoft Entra ID Autorise la copie à partir de comptes qui se trouvent dans le même Microsoft Entra locataire que le compte de destination.
PrivateLink Autorise uniquement la copie à partir de comptes de stockage qui ont des liaisons privées vers le même réseau virtuel que le compte de destination.

Pour plus d’informations sur cette propriété et son paramètre de configuration associé, consultez Restreindre la source des opérations de copie à un compte de stockage.

Transférer des données depuis ou vers un composant d’hébergement local

Si vous chargez ou téléchargez des données entre un compte de stockage et un composant d’hébergement local, assurez-vous que le composant d’hébergement qui exécute AzCopy peut 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 du composant d’hébergement.

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 du composant d’hébergement client sur lequel AzCopy s’exécute.

Si vous copiez des données entre des comptes de stockage, assurez-vous que le composant d’hébergement qui exécute AzCopy peut 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 du composant d’hébergement. Le service utilise l’adresse IP du composant d’hébergement du 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 est au niveau du réseau virtuel/sous-réseau. Si vous souhaitez que les demandes AzCopy passent par Private Link, AzCopy doit effectuer ces demandes à partir d’une machine virtuelle qui s’exécute dans ce réseau/sous-réseau virtuel. Par exemple, supposons que vous configurez Private Link dans VNet1/Subnet1, mais que la machine virtuelle sur laquelle AzCopy s’exécute se trouve dans VNet1/Subnet2. Dans ce scénario, les requêtes AzCopy n’utilisent pas Private Link et les requêtes 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 requis par AzCopy :

Points de terminaison de connexion 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 composant d’hébergement, 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 qui se trouve 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. Pour trouver des exemples de commandes, consultez Transférer des données. 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. Le flux de code de l’appareil ne peut pas garantir que le composant d’hébergement sur lequel vous utilisez l’outil AzCopy est également à partir duquel vous vous connectez.

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

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’attente

Si vous voyez un grand nombre de demandes ayant échoué qui ont le status « 503 Server Busy », le service de stockage limite vos demandes. Si vous constatez des erreurs réseau ou des délais d’attente, vous essayez peut-être d’envoyer trop de données pour que votre infrastructure puisse les gérer. Dans tous les cas, la solution de contournement est similaire.

Si vous voyez qu’un fichier volumineux échoue à plusieurs reprises parce que certains blocs échouent à 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 dans un premier temps, d’observer si cette action a résolu le problème initial, puis d’augmenter à nouveau les performances jusqu’à ce que vous obteniez un équilibre global.

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 affecter 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 dans 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.

  • Lorsque vous copiez 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. AzCopy ne prend pas encore en charge l’authentification MSI.

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.