Řešení potíží s konektory FTP, SFTP a HTTP ve službě Azure Data Factory a Azure Synapse
PLATÍ PRO: Azure Data Factory
Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek obsahuje návrhy pro řešení běžných problémů s konektory FTP, SFTP a HTTP ve službě Azure Data Factory a Azure Synapse.
FTP
Kód chyby: FtpFailedToConnectToFtpServer
Zpráva:
Failed to connect to FTP server. Please make sure the provided server information is correct, and try again.
Příčina: Pro server FTP může být použit nesprávný typ propojené služby, například použití propojené služby SFTP (Secure FTP) pro připojení k serveru FTP.
Doporučení: Zkontrolujte port cílového serveru. Protokol FTP používá port 21.
Kód chyby: FtpFailedToReadFtpData
Zpráva:
Failed to read data from ftp: The remote server returned an error: 227 Entering Passive Mode (*,*,*,*,*,*).
Příčina: Rozsah portů mezi 1024 a 65535 není otevřený pro přenos dat v pasivním režimu podporovaném kanálem datové továrny nebo Synapse.
Doporučení: Zkontrolujte nastavení brány firewall cílového serveru. Otevřete port 1024-65535 nebo rozsah portů zadaný na serveru FTP na IP adresu SHIR nebo Azure IR.
SFTP
Kód chyby: SftpOperationFail
Zpráva:
Failed to '%operation;'. Check detailed error from SFTP.
Příčina: Problém s operací SFTP.
Doporučení: Zkontrolujte podrobnosti o chybě z protokolu SFTP.
Kód chyby: SftpRenameOperationFail
Zpráva:
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.
Příčina: Server SFTP nepodporuje přejmenování dočasného souboru.
Doporučení: V jímce kopírování nastavte "useTempFileRename" jako false, aby se zakázalo nahrávání do dočasného souboru.
Kód chyby: SftpInvalidSftpCredential
Zpráva:
Invalid SFTP credential provided for '%type;' authentication type.
Příčina: Obsah privátního klíče se načte z trezoru klíčů Azure nebo sady SDK, ale není kódovaný správně.
Doporučení:
Pokud je obsah privátního klíče z vašeho trezoru klíčů, může původní soubor klíče fungovat, pokud ho nahrajete přímo do propojené služby SFTP.
Další informace najdete v tématu Kopírování dat ze serveru SFTP pomocí datové továrny nebo kanálů Synapse. Obsah privátního klíče je obsah privátního klíče s kódováním Base64 SSH.
Zakódujte celý původní soubor privátního klíče pomocí kódování base64 a uložte kódovaný řetězec do trezoru klíčů. Původní soubor privátního klíče je soubor, který může pracovat s propojenou službou SFTP, pokud vyberete Nahrát ze souboru.
Tady je několik ukázek, které můžete použít k vygenerování řetězce:
Použijte kód jazyka C#:
byte[] keyContentBytes = File.ReadAllBytes(Private Key Path); string keyContent = Convert.ToBase64String(keyContentBytes, Base64FormattingOptions.None);
Použití kódu Pythonu:
import base64 rfd = open(r'{Private Key Path}', 'rb') keyContent = rfd.read() rfd.close() print base64.b64encode(Key Content)
Použijte nástroj pro převod base64 třetí strany. Doporučujeme nástroj pro formátování Kódování do Base64.
Příčina: Byl vybrán nesprávný formát obsahu klíče.
Doporučení:
Privátní klíč SSH ve formátu PKCS#8 (počínaje "-----BEGIN ENCRYPTED PRIVATE KEY-----") se v současné době nepodporuje pro přístup k serveru SFTP.
Pokud chcete klíč převést na tradiční formát klíče SSH, spusťte následující příkazy od příkazu "-----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
Příčina: Neplatný obsah přihlašovacích údajů nebo privátního klíče
Doporučení: Pokud chcete zjistit, jestli je váš soubor klíče nebo heslo správné, pečlivě zkontrolujte nástroje, jako je WinSCP.
Aktivita kopírování SFTP selhala
Příznaky:
- Kód chyby: UserErrorInvalidColumnMappingColumnNotFound
- Chybová zpráva:
Column 'AccMngr' specified in column mapping cannot be found in source data.
Příčina: Zdroj neobsahuje sloupec s názvem AccMngr.
Řešení: Pokud chcete zjistit, jestli sloupec AccMngr existuje, pečlivě zkontrolujte konfiguraci datové sady namapováním cílového sloupce datové sady.
Kód chyby: SftpFailedToConnectToSftpServer
Zpráva:
Failed to connect to SFTP server '%server;'.
Příčina: Pokud chybová zpráva obsahuje řetězec "Operace čtení soketu vypršel časový limit po 30 000 milisekundách", jednou z možných příčin je, že pro server SFTP se používá nesprávný typ propojené služby. Například pro připojení k serveru SFTP můžete použít propojenou službu FTP.
Doporučení: Zkontrolujte port cílového serveru. Ve výchozím nastavení používá SFTP port 22.
Příčina: Pokud chybová zpráva obsahuje řetězec "Odpověď serveru neobsahuje identifikaci protokolu SSH", jednou z možných příčin je, že server SFTP omezil připojení. Paralelně se vytvoří více připojení ke stažení ze serveru SFTP a někdy dochází k omezování serveru SFTP. Obvykle různé servery vrací různé chyby, když narazí na omezování.
Doporučení:
Zadejte maximální počet souběžných připojení datové sady SFTP jako 1 a znovu spusťte aktivitu Copy. Pokud aktivita proběhne úspěšně, můžete se ujistit, že příčinou je omezování.
Pokud chcete zvýšit úroveň nízké propustnosti, obraťte se na správce SFTP a zvyšte limit počtu souběžných připojení nebo můžete provést jednu z následujících akcí:
- Pokud používáte místní prostředí IR, přidejte IP adresu počítače s místním prostředím IR do seznamu povolených.
- Pokud používáte Azure IR, přidejte IP adresy prostředí Azure Integration Runtime. Pokud nechcete do seznamu povolených serverů SFTP přidat rozsah IP adres, použijte místo toho místní prostředí IR.
Kód chyby: SftpPermissionDenied
Zpráva:
Permission denied to access '%path;'
Příčina: Zadaný uživatel nemá oprávnění ke čtení nebo zápisu ke složce nebo souboru při provozu.
Doporučení: Udělte uživateli oprávnění ke čtení nebo zápisu do složky nebo souborů na serveru SFTP.
Kód chyby: SftpAuthenticationFailure
Zpráva:
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.
Příčina: Zadané přihlašovací údaje (heslo nebo privátní klíč) jsou neplatné.
Doporučení: Zkontrolujte své přihlašovací údaje.
Příčina: Zadaný typ ověřování není povolený nebo nestačí k dokončení ověřování na serveru SFTP.
Doporučení: Pokud chcete použít správný typ ověřování, použijte následující možnosti:
- Pokud váš server vyžaduje heslo, použijte "Basic".
- Pokud váš server vyžaduje privátní klíč, použijte ověřování veřejného klíče SSH.
- Pokud váš server vyžaduje heslo i privátní klíč, použijte vícefaktorové ověřování.
Příčina: Server SFTP vyžaduje pro ověřování "keyboard-interactive", ale zadali jste heslo.
Doporučení:
"keyboard-interactive" je speciální metoda ověřování, která se liší od hesla. To znamená, že při přihlášení k serveru musíte zadat heslo ručně a nemůžete použít dříve uložené heslo. Azure Data Factory (ADF) je ale naplánovaná služba pro přenos dat a neexistuje žádné automaticky otevírané vstupní pole, které vám umožní zadat heslo za běhu.
Jako kompromis je k dispozici možnost simulovat vstup na pozadí místo skutečného ručního zadávání, což odpovídá změně "klávesnice-interactive" na "password". Pokud můžete tento problém se zabezpečením přijmout, povolte ho následujícím postupem:
- Na portálu ADF nastavte ukazatel myši na propojenou službu SFTP a otevřete datovou část výběrem tlačítka kódu.
- Přidejte
"allowKeyboardInteractiveAuth": true
do části typeProperties.
V ADF se nejde připojit k SFTP kvůli algoritmům výměny klíčů, které poskytuje SFTP
Příznaky: Nemůžete se připojit k SFTP přes ADF a splnit následující chybovou zprávu:
Failed to negotiate key exchange algorithm.
Příčina: Algoritmy výměny klíčů poskytované serverem SFTP nejsou v ADF podporované. Algoritmy výměny klíčů podporované službou ADF jsou:
- křivka25519-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
Nejnovější verze, která podporuje výše uvedené algoritmy výměny klíčů v prostředí SHIR, je verze 5.19.
Kód chyby: SftpInvalidHostKeyFingerprint
Zpráva:
Host key finger-print validation failed. Expected fingerprint is '<value in linked service>', real finger-print is '<server real value>'
Příčina: Azure Data Factory teď podporuje bezpečnější algoritmy klíče hostitele v konektoru SFTP. U nově přidaných algoritmů je nutné získat odpovídající otisk prstu na serveru SFTP.
Nově podporované algoritmy jsou:
- ssh-ed25519
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
Doporučení: Získání platného otisku prstu pomocí názvu
real finger-print
klíče hostitele z chybové zprávy na serveru SFTP. Spuštěním příkazu můžete získat otisk prstu na serveru SFTP. Příklad: Spuštěnímssh-keygen -E md5 -lf <keyFilePath>
na serveru s Linuxem získáte otisk prstu. Příkaz se může lišit mezi různými typy serverů.
Kód chyby: NepodporovanýcompressionTypeWhenDisableChunking
Zpráva:
"Disable chunking" is not compatible with "ZipDeflate" decompression.
Příčina: Zakázání bloků dat není kompatibilní s dekompresí ZipDeflate .
Doporučení: Načtěte binární data do pracovní oblasti (například Azure Blob Storage) a dekomprimujte je v jiné aktivitě kopírování.
HTTP
Kód chyby: HttpFileFailedToRead
Zpráva:
Failed to read data from http server. Check the error from http server:%message;
Příčina: K této chybě dochází, když datová továrna nebo kanál Synapse mluví se serverem HTTP, ale operace požadavku HTTP selže.
Doporučení: Zkontrolujte stavový kód HTTP v chybové zprávě a opravte problém se vzdáleným serverem.
Kód chyby: HttpSourceUnsupportedStatusCode
Zpráva:
Http source doesn't support HTTP Status Code '%code;'.
Příčina: K této chybě dochází, když Azure Data Factory požádá o zdroj HTTP, ale dostane neočekávaný stavový kód.
Doporučení: Další informace o stavovém kódu HTTP najdete v tomto dokumentu.
Související obsah
Další nápovědu k řešení potíží najdete v těchto zdrojích informací: