Problembehandlung für Azure Data Lake Storage-Connectors in Azure Data Factory und Azure Synapse

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Dieser Artikel enthält Vorschläge zur Behandlung häufiger Probleme mit den Connectors für Azure Data Lake Storage Gen1 und Gen2 in Azure Data Factory und Azure Synapse.

Azure Data Lake Storage Gen1

Fehlermeldung: Die zugrunde liegende Verbindung wurde geschlossen: Es konnte keine Vertrauensstellung für den sicheren SSL/TLS-Kanal eingerichtet werden.

  • Symptome: Bei der Kopieraktivität tritt der folgende Fehler auf:

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

  • Ursache: Bei der Zertifikatüberprüfung ist während des TLS-Handshakes ein Fehler aufgetreten.

  • Lösung: Um dieses Problem zu umgehen, können Sie die Überprüfung von TLS (Transport Layer Security) für Azure Data Lake Storage Gen1 mithilfe der gestagten Kopie überspringen. Sie müssen dieses Problem reproduzieren und die Netzwerküberwachungs-Ablaufverfolgung (netmon) erfassen. Anschließend prüfen Sie zusammen mit dem Netzwerkteam die Konfiguration des lokalen Netzwerks.

    Abbildung: Azure Data Lake Storage Gen1-Verbindungen zum Beheben von Problemen.

Fehlermeldung: The remote server returned an error: (403) Unzulässig

  • Symptome: Für die Kopieraktivität tritt der folgende Fehler auf:

    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.)....

  • Ursache: Eine mögliche Ursache ist, dass der von Ihnen verwendete Dienstprinzipal oder die verwaltete Identität nicht über die Berechtigung zum Zugreifen auf bestimmte Ordner oder Dateien verfügt.

  • Lösung: Gewähren Sie die entsprechenden Berechtigungen für alle Ordner und Unterordner, die Sie kopieren müssen. Weitere Informationen finden Sie unter Kopieren von Daten nach und aus Azure Data Lake Storage Gen1.

Fehlermeldung: Fehler beim Abrufen des Zugriffstokens mit dem Dienstprinzipal. ADAL-Fehler: service_unavailable

  • Symptome: Bei der Kopieraktivität tritt der folgende Fehler auf:

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

  • Ursache: Wenn der Tokenserver des Diensts von Microsoft Entra ID nicht verfügbar ist (also die Auslastung für die Verarbeitung von Anforderungen zu hoch ist), wird der HTTP-Fehler 503 zurückgegeben.

  • Lösung: Führen Sie die Kopieraktivität nach einigen Minuten erneut aus.

Azure Data Lake Storage Gen2

Fehlercode: ADLSGen2OperationFailed

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

  • Ursachen und Empfehlungen: Dieser Fehler kann verschiedene Ursachen haben. In der Liste unten finden Sie mögliche Ursachenanalysen und Empfehlungen.

    Ursachenanalyse Empfehlung
    Wenn Azure Data Lake Storage Gen2 diesen Fehler auslöst, ist für einen Vorgang ein Fehler aufgetreten. Überprüfen Sie die von Azure Data Lake Storage Gen2 ausgegebene detaillierte Fehlermeldung. Wenn der Fehler ein vorübergehender Fehler ist, wiederholen Sie den Vorgang. Um weitere Hilfe zu erhalten, wenden Sie sich an den Azure Storage-Support, und geben Sie die Anforderungs-ID in der Fehlermeldung an.
    Wenn die Fehlermeldung die Zeichenfolge „Forbidden“ (Verboten) enthält, verfügt der von Ihnen verwendete Dienstprinzipal oder die verwaltete Identität möglicherweise nicht über die erforderliche Berechtigung, um auf Azure Data Lake Storage Gen2 zuzugreifen. Informationen zum Behandeln dieses Fehlers finden Sie unter Kopieren und Transformieren von Daten in Azure Data Lake Storage Gen2.
    Wenn die Fehlermeldung die Zeichenfolge „InternalServerError“ enthält, wird der Fehler von Azure Data Lake Storage Gen2 zurückgegeben. Dieser Fehler wird möglicherweise durch einen vorübergehenden Fehler verursacht. Wenn dies so ist, wiederholen Sie den Vorgang. Wenden Sie sich an den Azure Storage-Support, und geben Sie die Anforderungs-ID aus der Fehlermeldung an, wenn das Problem weiterhin besteht.
    Wenn die Fehlermeldung Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host lautet, hat Ihre Integrationslaufzeit ein Netzwerkproblem bei der Verbindung mit Azure Data Lake Storage Gen2. Stellen Sie in der Firewallregeleinstellung von Azure Data Lake Storage Gen2 sicher, dass sich Azure Data Factory IP-Adressen in der zulässigen Liste befinden. Weitere Informationen finden Sie unter Konfigurieren von Firewalls und virtuellen Netzwerken in Azure Storage.
    Wenn die Fehlermeldung This endpoint does not support BlobStorageEvents or SoftDelete lautet, verwenden Sie einen Azure Data Lake Storage Gen2 verknüpften Dienst, um eine Verbindung mit einem Azure Blob Storage-Konto herzustellen, das Blob-Speicherereignisse oder ein vorläufiges Löschen ermöglicht. Versuchen Sie Folgendes:
    1. Wenn Sie weiterhin einen Azure Data Lake Storage Gen2 verknüpften Dienst verwenden möchten, aktualisieren Sie Ihre Azure Blob Storage auf Azure Data Lake Storage Gen2. Weitere Informationen finden Sie unter Upgraden von Azure Blob Storage mit Azure Data Lake Storage Gen2-Funktionen.
    2. Wechseln Sie ihren verknüpften Dienst zu Azure Blob Storage.
    3. Deaktivieren Sie Blob-Speicherereignisse oder vorläufiges Löschen in Ihrem Azure Blob Storage Konto.

Timeoutfehler bei der Anforderung des Azure Data Lake Storage Gen2-Kontos

  • Nachricht:

    • Fehlercode = UserErrorFailedBlobFSOperation
    • Fehlermeldung = BlobFS operation failed for: A task was canceled.
  • Ursache: Das Problem wird durch den Timeoutfehler der Azure Data Lake Storage Gen2-Senke verursacht, der in der Regel auf dem selbstgehosteten IR-Computer (Integration Runtime) auftritt.

  • Empfehlung:

    • Platzieren Sie den Computer mit der selbstgehosteten IR und das Azure Data Lake Storage Gen2-Zielkonto nach Möglichkeit in derselben Region. Dadurch vermeiden Sie einen zufälligen Timeoutfehler und erzielen eine bessere Leistung.

    • Überprüfen Sie, ob spezielle Netzwerkeinstellungen wie ExpressRoute vorliegen, und stellen Sie sicher, dass das Netzwerk über genügend Bandbreite verfügt. Es wird empfohlen, die Einstellung für gleichzeitige Aufträge der selbstgehosteten IR zu verringern, wenn die Gesamtbandbreite gering ist. Dies kann dazu beitragen, den Wettbewerb von Netzwerkressourcen über mehrere gleichzeitige Aufträge hinweg zu vermeiden.

    • Wenn die Datei mittelgroß oder klein ist, verwenden Sie für nicht binäre Kopiervorgänge eine kleinere Blockgröße, um einen derartigen Timeoutfehler zu vermeiden. Weitere Informationen finden Sie unter Blob Storage: Put-Block.

      Um die benutzerdefinierte Blockgröße anzugeben, bearbeiten Sie die Eigenschaft im JSON-Datei-Editor wie hier gezeigt:

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

Die Kopieraktivität kann keine Dateien aus Azure Data Lake Storage Gen2 auswählen.

  • Symptome: Die Kopieraktivität kann keine Dateien aus Azure Data Lake Storage Gen2 auswählen, wenn der Dateiname „Asset_Metadata“ ist. Das Problem tritt nur im Dataset vom Typ Parquet auf. Andere Typen von Datasets mit demselben Dateinamen funktionieren ordnungsgemäß.

  • Ursache: Aus Gründen der Abwärtskompatibilität wird _metadata im Dateinamen als reservierte Teilzeichenfolge behandelt.

  • Empfehlung: Ändern Sie den Dateinamen, um die reservierte Liste für Parquet zu vermeiden:

    1. Der Dateiname enthält _metadata.
    2. Der Dateiname beginnt mit . (Punkt).

Fehlercode: ADLSGen2ForbiddenError

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

  • Ursache: Es gibt zwei mögliche Ursachen:

    1. Die Integration Runtime wird durch den Netzwerkzugriff in den Firewalleinstellungen des Azure-Speicherkontos blockiert.
    2. Der Dienstprinzipal oder die verwaltete Identität verfügen nicht über ausreichende Berechtigungen für den Zugriff auf die Daten.
  • Empfehlung:

    1. Überprüfen Sie die Netzwerkeinstellungen Ihres Azure-Speicherkontos, um festzustellen, ob der Zugriff auf das öffentliche Netzwerk deaktiviert ist. Wenn er deaktiviert ist, verwenden Sie eine verwaltete Integration Runtime für virtuelle Netzwerke, und erstellen Sie einen privaten Endpunkt für den Zugriff. Weitere Informationen finden Sie unter Verwaltetes virtuelles Netzwerk und Erstellen einer Kopierpipeline mithilfe eines verwalteten VNet und privater Endpunkte.

    2. Wenn Sie die ausgewählten virtuellen Netzwerke und IP-Adressen in den Netzwerkeinstellungen Ihres Azure-Speicherkontos aktiviert haben:

      1. Dies ist möglich, weil einige IP-Adressbereiche Ihrer Integration Runtime von den Firewalleinstellungen Ihres Speicherkontos nicht zugelassen werden. Fügen Sie Ihrer Speicherkontofirewall die IP-Adressen der Azure Integration Runtime oder die IP-Adresse der selbstgehosteten Integration Runtime hinzu. Informationen zu IP-Adressen der Azure Integration Runtime finden Sie unter IP-Adressen der Azure Integration Runtime, und informationen zum Hinzufügen von IP-Bereichen in der Speicherkontofirewall finden Sie unter Verwalten von IP-Netzwerkregeln.

      2. Wenn Sie vertrauenswürdigen Azure-Diensten den Zugriff auf dieses Speicherkonto in der Firewall gestatten, müssen Sie die Authentifizierung der verwalteten Identität in der Kopieraktivität verwenden.

      Weitere Informationen zu den Einstellungen für Firewalls des Azure-Speicherkontos finden Sie unter Konfigurieren von Azure Storage-Firewalls und virtuellen Netzwerken.

    3. Wenn Sie die Authentifizierung des Dienstprinzipals oder der verwalteten Identität verwenden, erteilen Sie dem Dienstprinzipal oder der verwalteten Identität entsprechende Berechtigungen zum Kopieren. Für die Quelle ist dies mindestens die Rolle Storage-Blobdatenleser. Für die Senke ist dies mindestens die Rolle Mitwirkender an Storage-Blobdaten. Weitere Informationen finden Sie unter Kopieren und Transformieren von Daten in Azure Data Lake Storage Gen2.

Weitere Informationen zur Problembehandlung finden Sie in diesen Ressourcen: