Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Azure Data Factory
Azure Synapse Analytics
Wskazówka
Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !
Ten artykuł zawiera sugestie dotyczące rozwiązywania typowych problemów z łącznikami FTP, SFTP i HTTP w usługach Azure Data Factory i Azure Synapse.
FTP
Kod błędu: FtpFailedToConnectToFtpServer
Komunikat:
Failed to connect to FTP server. Please make sure the provided server information is correct, and try again.
Przyczyna: Niepoprawny typ połączonej usługi może być używany dla serwera FTP, na przykład przy użyciu połączonej usługi Secure FTP (SFTP) w celu nawiązania połączenia z serwerem FTP.
Zalecenie: Sprawdź port serwera docelowego. FTP używa portu 21.
Kod błędu: FtpFailedToReadFtpData
Komunikat:
Failed to read data from ftp: The remote server returned an error: 227 Entering Passive Mode (*,*,*,*,*,*).
Przyczyna: Zakres portów z zakresu od 1024 do 65535 nie jest otwarty dla transferu danych w trybie pasywnym obsługiwanym przez fabrykę danych lub potok usługi Synapse.
Zalecenie: Sprawdź ustawienia zapory serwera docelowego. Otwórz port 1024-65535 lub zakres portów określony na serwerze FTP na adres IP SHIR/Azure IR.
SFTP
Kod błędu: SftpOperationFail
Komunikat:
Failed to '%operation;'. Check detailed error from SFTP.
Przyczyna: Problem z operacją SFTP.
Zalecenie: Sprawdź szczegóły błędu z SFTP.
Kod błędu: SftpRenameOperationFail
Komunikat:
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.
Przyczyna: Serwer SFTP nie obsługuje zmiany nazwy pliku tymczasowego.
Zalecenie: ustaw wartość "useTempFileRename" jako false w ujściu kopiowania, aby wyłączyć przekazywanie do pliku tymczasowego.
Kod błędu: SftpInvalidSftpCredential
Komunikat:
Invalid SFTP credential provided for '%type;' authentication type.
Przyczyna: Zawartość klucza prywatnego jest pobierana z usługi Azure Key Vault lub zestawu SDK, ale nie jest poprawnie zakodowana.
Zalecenie:
Jeśli zawartość klucza prywatnego pochodzi z magazynu kluczy, oryginalny plik klucza może działać, jeśli przekażesz go bezpośrednio do połączonej usługi SFTP.
Aby uzyskać więcej informacji, zobacz Kopiowanie danych z i na serwer SFTP przy użyciu Azure Data Factory lub potoków Synapse. Zawartość klucza prywatnego to zawartość klucza prywatnego SSH zakodowana w formacie base64.
Zakoduj cały oryginalny plik klucza prywatnego przy użyciu kodowania base64 i zapisz zakodowany ciąg w magazynie kluczy. Oryginalny plik klucza prywatnego to ten, który może działać w ramach połączonej usługi SFTP, jeśli wybierzesz Przekaż z pliku.
Oto kilka przykładów, których można użyć do wygenerowania ciągu:
Użyj kodu w języku C#:
byte[] keyContentBytes = File.ReadAllBytes(Private Key Path); string keyContent = Convert.ToBase64String(keyContentBytes, Base64FormattingOptions.None);
Użyj kodu w języku Python:
import base64 rfd = open(r'{Private Key Path}', 'rb') keyContent = rfd.read() rfd.close() print base64.b64encode(Key Content)
Użyj narzędzia konwersji base64 innej firmy. Zalecamy użycie narzędzia Kodowanie do formatu Base64.
Przyczyna: wybrano nieprawidłowy format zawartości klucza.
Zalecenie:
Klucz prywatny SSH w formacie PKCS#8 (rozpoczynający się od ciągu "-----BEGIN ENCRYPTED PRIVATE KEY-----") nie jest obecnie obsługiwany w celu uzyskania dostępu do serwera SFTP.
Aby przekonwertować klucz na tradycyjny format klucza SSH, począwszy od polecenia "-----BEGIN RSA PRIVATE KEY-----", uruchom następujące polecenia:
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
Przyczyna: Nieprawidłowe poświadczenia lub zawartość klucza prywatnego.
Zalecenie: Aby sprawdzić, czy plik klucza lub hasło są poprawne, sprawdź dwukrotnie narzędzia, takie jak WinSCP.
Działanie kopiowania SFTP nie powiodło się
Objawy:
- Kod błędu: UserErrorInvalidColumnMappingColumnNotFound
- Komunikat o błędzie:
Column 'AccMngr' specified in column mapping cannot be found in source data.
Przyczyna: Źródło nie zawiera kolumny o nazwie "AccMngr".
Rozwiązanie: Aby określić, czy kolumna "AccMngr" istnieje, sprawdź konfigurację zestawu danych dwukrotnie, mapując docelową kolumnę zestawu danych.
Kod błędu: Nie udało się połączyć z serwerem SFTP (SftpFailedToConnectToSftpServer)
Komunikat:
Failed to connect to SFTP server '%server;'.
Przyczyna: Jeśli komunikat o błędzie zawiera ciąg "Operacja odczytu gniazda przekroczyła limit czasu po 30 000 milisekundach", jedną z możliwych przyczyn jest to, że niepoprawny połączony typ usługi jest używany dla serwera SFTP. Na przykład możesz użyć połączonej usługi FTP do nawiązania połączenia z serwerem SFTP.
Zalecenie: Sprawdź port serwera docelowego. Domyślnie sfTP używa portu 22.
Przyczyna: Jeśli komunikat o błędzie zawiera ciąg "Odpowiedź serwera nie zawiera identyfikacji protokołu SSH", jedną z możliwych przyczyn jest to, że serwer SFTP ograniczył połączenie. Wiele połączeń jest tworzonych w celu równoległego pobierania z serwera SFTP, a czasami występuje ograniczanie przepustowości serwera SFTP. Zazwyczaj różne serwery zwracają różne błędy w przypadku wystąpienia ograniczania przepustowości.
Zalecenie:
Określ maksymalną liczbę współbieżnych połączeń zestawu danych SFTP jako 1 i uruchom ponownie działanie kopiowania. Jeśli działanie zakończy się pomyślnie, możesz mieć pewność, że ograniczenie przepustowości jest przyczyną.
Jeśli chcesz podwyższyć poziom niskiej przepływności, skontaktuj się z administratorem SFTP, aby zwiększyć limit liczby połączeń współbieżnych, lub możesz wykonać jedną z następujących czynności:
- Jeśli używasz własnego środowiska IR, dodaj adres IP własnej maszyny IR do listy dozwolonych.
- Jeśli używasz środowiska Azure IR, dodaj adresy IP środowiska Azure Integration Runtime. Jeśli nie chcesz dodawać zakresu adresów IP do listy dozwolonych serwerów SFTP, użyj zamiast tego Self-hosted IR.
Kod błędu: SftpPermissionDenied
Komunikat:
Permission denied to access '%path;'
Przyczyna: Określony użytkownik nie ma uprawnień do odczytu ani zapisu do folderu lub pliku podczas działania.
Zalecenie: przyznaj użytkownikowi uprawnienia do odczytu lub zapisu w folderze lub plikach na serwerze SFTP.
Kod błędu: SftpAuthenticationFailure
Komunikat:
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.
Przyczyna: Określone poświadczenie (hasło lub klucz prywatny) jest nieprawidłowe.
Zalecenie: Sprawdź swoje poświadczenia.
Przyczyna: Określony typ uwierzytelniania nie jest dozwolony lub nie jest wystarczający do ukończenia uwierzytelniania na serwerze SFTP.
Zalecenie: Zastosuj następujące opcje, aby użyć poprawnego typu uwierzytelniania:
- Jeśli serwer wymaga hasła, użyj opcji "Podstawowa".
- Jeśli serwer wymaga klucza prywatnego, użyj opcji "Uwierzytelnianie za pomocą klucza publicznego SSH".
- Jeśli serwer wymaga zarówno hasła, jak i "klucza prywatnego", użyj opcji "Uwierzytelnianie wieloskładnikowe".
Przyczyna: Serwer SFTP wymaga "klawiatury interakcyjnej" na potrzeby uwierzytelniania, ale podano "hasło".
Zalecenie:
"Keyboard-interactive" to specjalna metoda uwierzytelniania, która różni się od metody hasła. Oznacza to, że podczas logowania się do serwera należy wprowadzić hasło ręcznie i nie można użyć wcześniej zapisanego hasła. Jednak usługa Azure Data Factory (ADF) jest usługą zaplanowanego transferu danych i nie ma wyskakujących okienek wejściowych umożliwiających podanie hasła w czasie wykonywania.
W przypadku naruszenia zabezpieczeń dostępna jest opcja symulowania danych wejściowych w tle zamiast rzeczywistego ręcznego wprowadzania danych wejściowych, co jest równoznaczne ze zmianą "klawiatury interakcyjnej" na "hasło". Jeśli możesz zaakceptować ten problem z zabezpieczeniami, wykonaj poniższe kroki, aby je włączyć:
- Na portalu ADF najedź kursorem na połączoną usługę SFTP i otwórz jej zawartość, wybierając przycisk 'Kod'.
- Dodaj
"allowKeyboardInteractiveAuth": true
w sekcji "typeProperties".
Nie można nawiązać połączenia z SFTP, ponieważ algorytmy wymiany kluczy dostarczone przez SFTP nie są obsługiwane w usłudze ADF.
Objawy: Nie możesz nawiązać połączenia z SFTP za pośrednictwem usługi ADF i otrzymujesz następujący komunikat o błędzie:
Failed to negotiate key exchange algorithm.
Przyczyna: Algorytmy wymiany kluczy udostępniane przez serwer SFTP nie są obsługiwane w usłudze ADF. Algorytmy wymiany kluczy obsługiwane przez usługę ADF to:
- 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
Najnowsza wersja do obsługi powyższych algorytmów wymiany kluczy w środowisku SHIR to wersja 5.19.
Kod błędu: SftpInvalidHostKeyFingerprint
Komunikat:
Host key finger-print validation failed. Expected fingerprint is '<value in linked service>', real finger-print is '<server real value>'
Przyczyna: Usługa Azure Data Factory obsługuje teraz bezpieczniejsze algorytmy kluczy hosta w łączniku SFTP. W przypadku nowo dodanych algorytmów wymagane jest pobranie odpowiedniego odcisku palca na serwerze SFTP.
Nowo obsługiwane algorytmy to:
- ssh-ed25519
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
Zalecenie: Pobierz prawidłowy odcisk palca przy użyciu nazwy klucza hosta w
real finger-print
z komunikatu o błędzie na serwerze SFTP. Możesz uruchomić polecenie , aby pobrać odcisk palca na serwerze SFTP. Na przykład: uruchom poleceniessh-keygen -E md5 -lf <keyFilePath>
na serwerze z systemem Linux, aby pobrać odcisk palca. Polecenie może się różnić w zależności od różnych typów serwerów.
Kod błędu: UnsupportedCompressionTypeWhenDisableChunking
Komunikat:
"Disable chunking" is not compatible with "ZipDeflate" decompression.
Przyczyna: Wyłączenie fragmentacji nie jest zgodne z dekompresją ZipDeflate.
Zalecenie: Załaduj dane binarne do obszaru przejściowego (na przykład: Azure Blob Storage) i zdekompresuj je w innym działaniu kopiowania.
HTTP
Kod błędu: HttpFileFailedToRead
Komunikat:
Failed to read data from http server. Check the error from http server:%message;
Przyczyna: Ten błąd występuje, gdy fabryka danych lub potok usługi Synapse rozmawia z serwerem HTTP, ale operacja żądania HTTP kończy się niepowodzeniem.
Zalecenie: Sprawdź kod stanu HTTP w komunikacie o błędzie i rozwiąż problem z serwerem zdalnym.
Kod błędu: HttpSourceUnsupportedStatusCode
Komunikat:
Http source doesn't support HTTP Status Code '%code;'.
Przyczyna: ten błąd występuje, gdy usługa Azure Data Factory żąda źródła HTTP, ale otrzymuje nieoczekiwany kod stanu.
Zalecenie: Aby uzyskać więcej informacji na temat kodu stanu HTTP, zobacz ten dokument.
Powiązana zawartość
Aby uzyskać pomoc dotyczącą rozwiązywania problemów, wypróbuj następujące zasoby: