Résoudre les problèmes liés aux connecteurs Azure Data Lake Storage dans Azure Data Factory et Azure Synapse

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article fournit des suggestions pour résoudre les problèmes courants liés aux connecteurs Azure Data Lake Storage Gen1 et Gen2 dans Azure Data Factory et Azure Synapse.

Azure Data Lake Storage Gen1

Message d’erreur : Le serveur a clos la connexion sous-jacente : Impossible d’établir une relation de confiance pour le canal sécurisé SSL/TLS.

  • Symptômes : L’activité de copie échoue avec l’erreur suivante :

    Message: ErrorCode = UserErrorFailedFileOperation, Error Message = The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

  • Cause : La validation du certificat a échoué lors de l’établissement d’une liaison TLS.

  • Résolution : Pour contourner ce problème, utilisez la copie intermédiaire pour ignorer la validation TLS (Transport Layer Security) pour Azure Data Lake Storage Gen1. Vous devez reproduire ce problème et collecter la trace du moniteur réseau (netmon), puis demander à votre équipe réseau de vérifier la configuration du réseau local.

    Diagram of Azure Data Lake Storage Gen1 connections for troubleshooting issues.

Message d’erreur : Le serveur distant a retourné une erreur : (403) Interdit

  • Symptômes : L’activité de copie échoue avec l’erreur suivante :

    Message: The remote server returned an error: (403) Forbidden. Response details: {"RemoteException":{"exception":"AccessControlException""message":"CREATE failed with error 0x83090aa2 (Forbidden. ACL verification failed. Either the resource does not exist or the user is not authorized to perform the requested operation.)....

  • Cause : L’une des causes possibles est que le principal du service ou l’identité managée que vous utilisez n’a pas l’autorisation d’accéder à certains dossiers ou fichiers.

  • Résolution : Accordez les autorisations appropriées sur tous les dossiers et sous-dossiers que vous devez copier. Pour en savoir plus, consultez Copier des données vers ou depuis Azure Data Lake Storage Gen1.

Message d’erreur : Échec d’obtention du jeton d’accès à l’aide du principal du service. Erreur ADAL : service_unavailable

  • Symptômes : L’activité de copie échoue avec l’erreur suivante :

    Failed to get access token by using service principal. ADAL Error: service_unavailable, The remote server returned an error: (503) Server Unavailable.

  • Cause : lorsque le serveur de jeton de service (STS) détenu par Microsoft Entra ID n’est pas disponible, c.-à-d. qu’il est trop occupé pour gérer les requêtes, il renvoie une erreur HTTP 503.

  • Résolution : Réexécutez l’activité de copie au bout de quelques minutes.

Azure Data Lake Storage Gen2

Code d’erreur : AdlsGen2OperationFailed

  • Message : ADLS Gen2 operation failed for: %adlsGen2Message;.%exceptionData;.

  • Causes et recommandations : Différentes causes peuvent être à l’origine de cette erreur. Consultez la liste ci-dessous pour obtenir une analyse des causes possibles et des recommandations associées.

    Analyse de la cause Recommandation
    Si Azure Data Lake Storage Gen2 lève une erreur, une opération a échoué. Consultez le message d’erreur détaillé généré par Azure Data Lake Storage Gen2. Si l’erreur est un échec temporaire, recommencez l’opération. Si vous avez besoin d’aide supplémentaire, contactez le support Stockage Azure et fournissez l’ID de la requête indiqué dans le message d’erreur.
    Si le message d’erreur contient la chaîne « Forbidden », le principal du service ou l’identité managée que vous utilisez ne dispose peut-être pas des autorisations suffisantes pour accéder à Azure Data Lake Storage Gen2. Pour résoudre cette erreur, consultez Copier et transformer des données dans Azure Data Lake Storage Gen2.
    Si le message d’erreur contient la chaîne « InternalServerError », l’erreur est retournée par Azure Data Lake Storage Gen2. L’erreur peut être due à un échec temporaire. Si c’est le cas, recommencez l’opération. Si le problème persiste, contactez le support Stockage Azure et fournissez l’ID de la requête indiqué dans le message d’erreur.
    Si le message d’erreur est Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host, votre runtime d’intégration a un problème réseau lors de la connexion à Azure Data Lake Storage Gen2. Dans le paramètre de règle de pare-feu de Azure Data Lake Storage Gen2, vérifiez que les adresses IP Azure Data Factory se trouvent dans la liste autorisée. Pour plus d’informations, consultez Configurer Pare-feu et réseaux virtuels dans Stockage Azure.
    Si le message d’erreur est This endpoint does not support BlobStorageEvents or SoftDelete, vous utilisez un service lié Azure Data Lake Storage Gen2 pour vous connecter à un compte Stockage Blob Azure qui active les événements de stockage Blob ou la suppression réversible. Tentez les opérations suivantes :
    1. Si vous souhaitez toujours utiliser un service lié Azure Data Lake Storage Gen2, mettez à niveau votre Stockage Blob Azure vers Azure Data Lake Storage Gen2. Pour plus d’informations, consultez Mettre à niveau Stockage Blob Azure avec les capacités d’Azure Data Lake Storage Gen2.
    2. Basculez votre service lié en Stockage Blob Azure.
    3. Désactivez les événements de stockage Blob ou la suppression réversible dans votre compte Stockage Blob Azure.

La requête au compte Azure Data Lake Storage Gen2 a provoqué une erreur de dépassement de délai

  • Message :

    • Code d’erreur = UserErrorFailedBlobFSOperation
    • Message d’erreur = BlobFS operation failed for: A task was canceled.
  • Cause : Le problème est dû à une erreur de dépassement de délai du récepteur Azure Data Lake Storage Gen2, qui se produit généralement sur l’ordinateur du runtime d'intégration auto-hébergé.

  • Recommandation :

    • Placez votre machine du runtime d’intégration auto-hébergé et le compte Azure Data Lake Storage Gen2 cible dans la même région, si possible. Cela peut éviter une erreur de dépassement de délai aléatoire et améliorer les performances.

    • Vérifiez s’il existe un paramètre de réseau spécial, comme ExpressRoute, et assurez-vous que le réseau dispose d’une bande passante suffisante. Nous vous suggérons de diminuer le paramètre des tâches simultanées du runtime d’intégration auto-hébergé lorsque la bande passante globale est faible. Cela permet d’éviter que plusieurs tâches simultanées ne se disputent les ressources réseau.

    • Utilisez une taille de bloc plus petite pour la copie non binaire afin d’atténuer les effets d’une telle erreur de dépassement de délai si la taille de fichier est modérée ou petite. Pour plus d’informations, consultez Bloc Put de stockage Blob.

      Pour spécifier une taille de bloc personnalisée, modifiez la propriété dans l’éditeur de fichier JSON comme indiqué ici :

      "sink": {
          "type": "DelimitedTextSink",
          "storeSettings": {
              "type": "AzureBlobFSWriteSettings",
              "blockSizeInMB": 8
          }
      }
      

L’activité de copie n’est pas en mesure de sélectionner des fichiers à partir d’Azure Data Lake Storage Gen2

  • Symptômes : l’activité de copie n’est pas en mesure de sélectionner des fichiers à partir d’Azure Data Lake Storage Gen2 quand le nom de fichier est « Asset_Metadata ». Le problème se produit uniquement dans le jeu de données de type Parquet. D’autres types de jeux de données avec le même nom de fichier fonctionnent correctement.

  • Cause : pour la compatibilité descendante, _metadata est traité en tant que substring réservé dans le nom de fichier.

  • Recommandation : modifiez le nom de fichier pour éviter la liste réservée pour Parquet ci-dessous :

    1. Le nom de fichier contient _metadata.
    2. Le nom de fichier commence par . (point).

Code d’erreur : ADLSGen2ForbiddenError

  • Message : ADLS Gen2 failed for forbidden: Storage operation % on % get failed with 'Operation returned an invalid status code 'Forbidden'.

  • Cause : Il existe deux causes possibles :

    1. Le runtime d’intégration est bloqué par l’accès au réseau dans les paramètres de pare-feu du compte de stockage Azure.
    2. Le principal de service ou l’identité managée ne dispose pas d’autorisations suffisantes pour accéder aux données.
  • Recommandation :

    1. Vérifiez les paramètres réseau de votre compte de stockage Azure pour voir si l’accès au réseau public est désactivé. Si cette option est désactivée, utilisez un runtime d’intégration de réseau virtuel managé et créez un point de terminaison privé pour y accéder. Pour plus d’informations, consultez Réseau virtuel managé et Créer un pipeline de copie à l’aide d’un réseau virtuel managé et de points de terminaison privés.

    2. Si vous avez activé certains réseaux virtuels et adresses IP dans le paramètre réseau de votre compte de stockage Azure :

      1. Cela est possible, car certaines plages d’adresses IP de votre runtime d’intégration ne sont pas autorisées par les paramètres de pare-feu de votre compte de stockage. Ajoutez les adresses IP du runtime d’intégration Azure ou l’adresse IP du runtime d’intégration auto-hébergé au pare-feu de votre compte de stockage. Pour les adresses IP du runtime d’intégration Azure, consultez Adresses IP Azure Integration Runtime et pour savoir comment ajouter des plages d’adresses IP dans le pare-feu du compte de stockage, consultez Gestion des règles de réseau IP.

      2. Si vous autorisez les services Azure approuvés à accéder à ce compte de stockage dans le pare-feu, vous devez utiliser l’authentification d’identité managée dans l’activité de copie.

      Pour plus d’informations sur les paramètres du pare-feu du compte de stockage Azure, consultez Configurer des pare-feu et des réseaux virtuels dans Stockage Azure.

    3. Si vous utilisez le principal de service ou l’authentification d’identité managée, accordez au principal de service ou à l’identité managée les autorisations appropriées pour effectuer la copie. Pour la source, au moins le rôle de lecteur de données Blob de stockage Pour le récepteur, au moins le rôle de contributeur de données Blob de stockage Pour plus d’informations, consultez Copier et transformer des données dans Azure Data Lake Storage Gen2.

Si vous avez besoin d’une aide supplémentaire, essayez les ressources suivantes :