Delen via


Problemen met de FTP-, SFTP- en HTTP-connectors in Azure Data Factory en Azure Synapse oplossen

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Dit artikel bevat suggesties voor het oplossen van veelvoorkomende problemen met de FTP-, SFTP- en HTTP-connectors in Azure Data Factory en Azure Synapse.

FTP

Foutcode: FtpFailedTo Verbinding maken ToFtpServer

  • Bericht: Failed to connect to FTP server. Please make sure the provided server information is correct, and try again.

  • Oorzaak: Er kan een onjuist gekoppeld servicetype worden gebruikt voor de FTP-server, zoals het gebruik van de gekoppelde SERVICE Secure FTP (SFTP) om verbinding te maken met een FTP-server.

  • Aanbeveling: Controleer de poort van de doelserver. FTP maakt gebruik van poort 21.

Foutcode: FtpFailedToReadFtpData

  • Bericht: Failed to read data from ftp: The remote server returned an error: 227 Entering Passive Mode (*,*,*,*,*,*).

  • Oorzaak: Poortbereik tussen 1024 en 65535 is niet geopend voor gegevensoverdracht in de passieve modus die wordt ondersteund door de data factory of Synapse-pijplijn.

  • Aanbeveling: controleer de firewallinstellingen van de doelserver. Open poort 1024-65535 of poortbereik dat is opgegeven in de FTP-server naar het IP-adres van SHIR/Azure IR.

SFTP

Foutcode: SftpOperationFail

  • Bericht: Failed to '%operation;'. Check detailed error from SFTP.

  • Oorzaak: Een probleem met de SFTP-bewerking.

  • Aanbeveling: controleer de foutdetails van SFTP.

Foutcode: SftpRenameOperationFail

  • Bericht: Failed to rename the temp file. Your SFTP server doesn't support renaming temp file, set "useTempFileRename" as false in copy sink to disable uploading to temp file.

  • Oorzaak: De SFTP-server biedt geen ondersteuning voor het wijzigen van de naam van het tijdelijke bestand.

  • Aanbeveling: stel useTempFileRename in als onwaar in de kopieersink om het uploaden naar het tijdelijke bestand uit te schakelen.

Foutcode: SftpInvalidSftpCredential

  • Bericht: Invalid SFTP credential provided for '%type;' authentication type.

  • Oorzaak: Inhoud van persoonlijke sleutel wordt opgehaald uit de Azure-sleutelkluis of SDK, maar deze is niet correct gecodeerd.

  • Aanbeveling:

    Als de inhoud van de persoonlijke sleutel afkomstig is uit uw sleutelkluis, kan het oorspronkelijke sleutelbestand werken als u het rechtstreeks uploadt naar de gekoppelde SFTP-service.

    Zie Gegevens kopiëren van en naar de SFTP-server met behulp van data factory- of Synapse-pijplijnen voor meer informatie. De inhoud van de persoonlijke sleutel is inhoud met base64-gecodeerde SSH-persoonlijke sleutel.

    Codeer het hele oorspronkelijke persoonlijke sleutelbestand met base64-codering en sla de gecodeerde tekenreeks op in uw sleutelkluis. Het oorspronkelijke persoonlijke sleutelbestand is het bestand dat kan werken op de gekoppelde SFTP-service als u Uploaden uit het bestand selecteert.

    Hier volgen enkele voorbeelden die u kunt gebruiken om de tekenreeks te genereren:

    • C#-code gebruiken:

      byte[] keyContentBytes = File.ReadAllBytes(Private Key Path);
      string keyContent = Convert.ToBase64String(keyContentBytes, Base64FormattingOptions.None);
      
    • Python-code gebruiken:

      import base64
      rfd = open(r'{Private Key Path}', 'rb')
      keyContent = rfd.read()
      rfd.close()
      print base64.b64encode(Key Content)
      
    • Gebruik een hulpprogramma voor base64-conversie van derden. Het hulpprogramma Coderen naar Base64-indeling wordt aangeraden.

  • Oorzaak: De verkeerde indeling voor sleutelinhoud is gekozen.

  • Aanbeveling:

    Persoonlijke SSH-sleutel in PKCS#8-indeling (begin met '-----BEGIN ENCRYPTED PRIVATE KEY-----') wordt momenteel niet ondersteund voor toegang tot de SFTP-server.

    Voer de volgende opdrachten uit om de sleutel te converteren naar de traditionele SSH-sleutelindeling, te beginnen met '-----BEGIN RSA PRIVATE KEY-----':

    openssl pkcs8 -in pkcs8_format_key_file -out traditional_format_key_file
    chmod 600 traditional_format_key_file
    ssh-keygen -f traditional_format_key_file -p
    
  • Oorzaak: Ongeldige referenties of persoonlijke sleutelinhoud.

  • Aanbeveling: Als u wilt zien of uw sleutelbestand of wachtwoord juist is, controleert u met hulpprogramma's zoals WinSCP.

SFTP-kopieeractiviteit is mislukt

  • Symptomen:

    • Foutcode: UserErrorInvalidColumnMappingColumnNotFound
    • Foutbericht: Column 'AccMngr' specified in column mapping cannot be found in source data.
  • Oorzaak: De bron bevat geen kolom met de naam AccMngr.

  • Oplossing: Als u wilt bepalen of de kolom AccMngr bestaat, controleert u de configuratie van uw gegevensset door de kolom met de doelgegevensset toe te voegen.

Foutcode: SftpFailedTo Verbinding maken ToSftpServer

  • Bericht: Failed to connect to SFTP server '%server;'.

  • Oorzaak: Als het foutbericht de tekenreeks 'Socket read operation has time out after 30.000 milliseconden' bevat, is een mogelijke oorzaak dat een onjuist gekoppeld servicetype wordt gebruikt voor de SFTP-server. U kunt bijvoorbeeld de gekoppelde FTP-service gebruiken om verbinding te maken met de SFTP-server.

  • Aanbeveling: Controleer de poort van de doelserver. SFTP maakt standaard gebruik van poort 22.

  • Oorzaak: Als het foutbericht de tekenreeks 'Serverreactie bevat geen SSH-protocolidentificatie' bevat, is een mogelijke oorzaak dat de SFTP-server de verbinding heeft beperkt. Er worden meerdere verbindingen gemaakt om parallel van de SFTP-server te downloaden. Soms ondervindt de SFTP-server beperking. Normaal gesproken retourneren verschillende servers verschillende fouten wanneer er beperkingen optreden.

  • Aanbeveling:

    Geef het maximum aantal gelijktijdige verbindingen van de SFTP-gegevensset op als 1 en voer de copy-activiteit opnieuw uit. Als de activiteit slaagt, kunt u er zeker van zijn dat beperking de oorzaak is.

    Als u de lage doorvoer wilt verhogen, neemt u contact op met uw SFTP-beheerder om de limiet voor het aantal gelijktijdige verbindingen te verhogen of kunt u een van de volgende handelingen uitvoeren:

    • Als u zelf-hostende IR gebruikt, voegt u het IP-adres van de zelf-hostende IR-computer toe aan de acceptatielijst.
    • Als u Azure IR gebruikt, voegt u IP-adressen van Azure Integration Runtime toe. Als u geen bereik van IP-adressen wilt toevoegen aan de acceptatielijst van de SFTP-server, gebruikt u in plaats daarvan zelf-hostende IR.

Foutcode: SftpPermissionDenied

  • Bericht: Permission denied to access '%path;'

  • Oorzaak: de opgegeven gebruiker heeft geen lees- of schrijfmachtiging voor de map of het bestand wanneer deze werkt.

  • Aanbeveling: De gebruiker toestemming geven om de map of bestanden op de SFTP-server te lezen of te schrijven.

Foutcode: SftpAuthenticationFailure

  • Bericht: Meet authentication failure when connect to Sftp server '%server;' using '%type;' authentication type. Please make sure you are using the correct authentication type and the credential is valid. For more details, see our troubleshooting docs.

  • Oorzaak: de opgegeven referentie (uw wachtwoord of persoonlijke sleutel) is ongeldig.

  • Aanbeveling: Controleer uw referenties.

  • Oorzaak: het opgegeven verificatietype is niet toegestaan of niet voldoende om de verificatie in uw SFTP-server te voltooien.

  • Aanbeveling: Pas de volgende opties toe om het juiste verificatietype te gebruiken:

    • Als uw server een wachtwoord vereist, gebruikt u Basic.
    • Als voor uw server een persoonlijke sleutel is vereist, gebruikt u 'Openbare SSH-sleutelverificatie'.
    • Als voor uw server zowel 'wachtwoord' als 'persoonlijke sleutel' is vereist, gebruikt u Meervoudige verificatie.
  • Oorzaak: Uw SFTP-server vereist 'toetsenbord-interactief' voor verificatie, maar u hebt 'wachtwoord' opgegeven.

  • Aanbeveling:

    'toetsenbord-interactief' is een speciale verificatiemethode, die verschilt van 'wachtwoord'. Dit betekent dat wanneer u zich aanmeldt bij een server, u het wachtwoord handmatig moet invoeren en u het eerder opgeslagen wachtwoord niet kunt gebruiken. Azure Data Factory (ADF) is echter een geplande service voor gegevensoverdracht en er is geen pop-upinvoervak waarmee u het wachtwoord tijdens de runtime kunt opgeven.

    Als compromis wordt een optie geboden om de invoer op de achtergrond te simuleren in plaats van uw echte handmatige invoer, wat gelijk is aan het wijzigen van het 'toetsenbord-interactief' in 'wachtwoord'. Als u dit beveiligingsprobleem kunt accepteren, volgt u de onderstaande stappen om dit in te schakelen:

    1. Beweeg in de ADF-portal de muisaanwijzer over de gekoppelde SFTP-service en open de nettolading door de codeknop te selecteren.
    2. Voeg "allowKeyboardInteractiveAuth": true de sectie typeProperties toe.

Kan geen verbinding maken met SFTP vanwege sleuteluitwisselingsalgoritmen van SFTP worden niet ondersteund in ADF

  • Symptomen: U kunt geen verbinding maken met SFTP via ADF en voldoen aan het volgende foutbericht: Failed to negotiate key exchange algorithm.

  • Oorzaak: De sleuteluitwisselingsalgoritmen van de SFTP-server worden niet ondersteund in ADF. De door ADF ondersteunde sleuteluitwisselingsalgoritmen zijn:

    • curve25519-sha256
    • curve25519-sha256@libssh.org
    • ecdh-sha2-nistp256
    • ecdh-sha2-nistp384
    • ecdh-sha2-nistp521
    • diffie-hellman-group-exchange-sha256
    • diffie-hellman-group-exchange-sha1
    • diffie-hellman-group16-sha512
    • diffie-hellman-group14-sha256
    • diffie-hellman-group14-sha1
    • diffie-hellman-group1-sha1

    De nieuwste versie ter ondersteuning van bovenstaande algoritmen voor sleuteluitwisseling op SHIR is versie 5.19.

Foutcode: SftpInvalidHostKeyFingerprint

  • Bericht: Host key finger-print validation failed. Expected fingerprint is '<value in linked service>', real finger-print is '<server real value>'

  • Oorzaak: Azure Data Factory ondersteunt nu veiligere hostsleutelalgoritmen in SFTP-connector. Voor de zojuist toegevoegde algoritmen moet de bijbehorende vingerafdruk op de SFTP-server worden opgeslagen.

    De nieuw ondersteunde algoritmen zijn:

    • ssh-ed25519
    • ecdsa-sha2-nistp256
    • ecdsa-sha2-nistp384
    • ecdsa-sha2-nistp521
  • Aanbeveling: Haal een geldige vingerafdruk op met behulp van de hostsleutelnaam in real finger-print het foutbericht op de SFTP-server. U kunt de opdracht uitvoeren om de vingerafdruk op uw SFTP-server op te halen. Bijvoorbeeld: uitvoeren ssh-keygen -E md5 -lf <keyFilePath> op Linux-server om de vingerafdruk op te halen. De opdracht kan variëren tussen verschillende servertypen.

Foutcode: UnsupportedCompressionTypeWhenDisableChunking

  • Bericht: "Disable chunking" is not compatible with "ZipDeflate" decompression.

  • Oorzaak: segmentering uitschakelen is niet compatibel met ZipDeflate decompressie.

  • Aanbeveling: Laad de binaire gegevens in een faseringsgebied (bijvoorbeeld Azure Blob Storage) en decomprimeer ze in een andere kopieeractiviteit.

HTTP

Foutcode: HttpFileFailedToRead

  • Bericht: Failed to read data from http server. Check the error from http server:%message;

  • Oorzaak: Deze fout treedt op wanneer een data factory of een Synapse-pijplijn met de HTTP-server praat, maar de HTTP-aanvraagbewerking mislukt.

  • Aanbeveling: Controleer de HTTP-statuscode in het foutbericht en los het probleem met de externe server op.

Foutcode: HttpSourceUnsupportedStatusCode

  • Bericht: Http source doesn't support HTTP Status Code '%code;'.

  • Oorzaak: Deze fout treedt op wanneer Azure Data Factory http-bron aanvraagt, maar onverwachte statuscode krijgt.

  • Aanbeveling: Zie dit document voor meer informatie over HTTP-statuscode.

Voor meer hulp bij het oplossen van problemen kunt u de volgende bronnen proberen: