Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье приводятся рекомендации по устранению распространенных проблем с соединителями FTP, SFTP и HTTP в Фабрика данных Azure и Azure Synapse.
FTP
Код ошибки: Не удалось подключиться к FTP-серверу
Сообщение.
Failed to connect to FTP server. Please make sure the provided server information is correct, and try again.
Причина. Для FTP-сервера может использоваться неверный тип связанной службы. Например, для подключения к FTP-серверу может использоваться связанная служба Secure FTP (SFTP).
Рекомендация. Проверьте порт целевого сервера. Протокол FTP использует порт 21.
Код ошибки: FtpFailedToReadFtpData
Сообщение.
Failed to read data from ftp: The remote server returned an error: 227 Entering Passive Mode (*,*,*,*,*,*).
Причина. Диапазон портов от 1024 до 65535 не открыт для передачи данных в пассивном режиме, поддерживаемом фабрикой данных или конвейером Synapse.
Рекомендация. Проверьте настройки межсетевого экрана целевого сервера. Откройте порт 1024-65535 или диапазон портов, указанный на FTP-сервере, для IP-адресов SHIR/Azure IR.
SFTP
Код ошибки: SftpOperationFail
Сообщение.
Failed to '%operation;'. Check detailed error from SFTP.
Причина. Проблема при выполнении операции SFTP.
Рекомендация. Изучите подробные сведения об ошибке SFTP.
Код ошибки: SftpRenameOperationFail
Сообщение.
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.
Причина. Сервер SFTP не поддерживает переименование временного файла.
Рекомендация: Установите для параметра "useTempFileRename" значение false в приемнике копирования, чтобы отключить загрузку во временный файл.
Код ошибки: SftpInvalidSftpCredential
Сообщение.
Invalid SFTP credential provided for '%type;' authentication type.
Причина. Содержимое закрытого ключа извлекается из Azure Key Vault или пакета SDK, но кодируется неправильно.
Рекомендация.
Если содержимое закрытого ключа поступило из хранилища ключей, исходный файл ключа может работать при его передаче непосредственно в связанную службу SFTP.
Дополнительные сведения см. в статье Копирование данных с SFTP-сервера и на него с помощью Фабрики данных или конвейеров Synapse. Содержимое закрытого ключа SSH должно быть в кодировке Base64.
Закодируйте весь исходный файл закрытого ключа в Base64 и сохраните закодированную строку в хранилище ключей. Исходный файл закрытого ключа будет работать со связанной службой SFTP, если в файле выбрать Отправить.
Вот некоторые примеры, с помощью которых можно сгенерировать строку.
Код C#:
byte[] keyContentBytes = File.ReadAllBytes(Private Key Path); string keyContent = Convert.ToBase64String(keyContentBytes, Base64FormattingOptions.None);
Код Python:
import base64 rfd = open(r'{Private Key Path}', 'rb') keyContent = rfd.read() rfd.close() print base64.b64encode(Key Content)
Можно также использовать сторонние средства преобразования в формат Base64. Мы рекомендуем средство Encode to Base64 format.
Причина. Выбран неправильный формат содержимого ключа.
Рекомендация.
Формат закрытого ключа SSH PKCS#8 (начинающийся с -----BEGIN ENCRYPTED PRIVATE KEY-----) в настоящее время не поддерживается для доступа к серверу SFTP.
Чтобы преобразовать ключ SSH в традиционный формат, начинающийся с -----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
Причина. Недопустимые учетные данные или содержимое закрытого ключа.
Рекомендация. Чтобы проверить правильность файла ключа или пароля, используйте такие средства, как WinSCP.
Ошибка операции копирования SFTP
Симптомы
- Код ошибки: UserErrorInvalidColumnMappingColumnNotFound
- Сообщение об ошибке:
Column 'AccMngr' specified in column mapping cannot be found in source data.
Причина. В источнике нет столбца с именем AccMngr.
Решение: Чтобы определить, существует ли столбец "AccMngr", перепроверьте конфигурацию вашего набора данных, сопоставив столбец набора данных назначения.
Код ошибки: Не удалось подключиться к серверу SFTP
Сообщение.
Failed to connect to SFTP server '%server;'.
Причина. Если в сообщении об ошибке есть строка "Истекло время ожидания операции чтения сокета (30 000 миллисекунд)", одна из возможных причин заключается в том, что для SFTP-сервера используется неверный тип связанной службы. Например, для подключения к SFTP-серверу может использоваться связанная служба FTP.
Рекомендация. Проверьте порт целевого сервера. По умолчанию для SFTP-подключений используется порт 22.
Причина. Если сообщение об ошибке содержит строку "Ответ сервера не содержит идентификацию протокола SSH", одна из возможных причин заключается в том, что сервер SFTP регулирует подключение. Создаются несколько подключений для одновременного скачивания с сервера SFTP, и иногда происходит ограничение скорости сервера SFTP. Обычно различные серверы возвращают разные ошибки при ограничении пропускной способности.
Рекомендация.
Укажите максимальное число одновременных подключений к набору данных SFTP, равное 1, и повторно запустите действие копирования. Если действие выполнится успешно, значит причина в ограничении.
Если вы хотите повысить низкую пропускную способность, обратитесь к администратору SFTP, чтобы увеличить ограничение числа одновременных подключений или выполнить одно из следующих действий:
- Если используется локальная среда IR, добавьте IP-адрес ее компьютера в список разрешений.
- При использовании среды Azure IR добавьте IP-адреса Azure Integration Runtime. Если вы не хотите добавлять диапазон IP-адресов в список разрешений сервера SFTP, используйте вместо этого локальную среду IR.
Код ошибки: SftpPermissionDenied
Сообщение.
Permission denied to access '%path;'
Причина. Указанный пользователь не имеет разрешения на чтение или запись в папку или файл при работе.
Рекомендация. Предоставьте пользователю разрешение на чтение или запись для папки или файлов на SFTP-сервере.
Код ошибки: SftpAuthenticationFailure
Сообщение.
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.
Причина. Указаны недопустимые учетные данные (пароль или закрытый ключ).
Рекомендация. Проверьте учетные данные.
Причина. Указанный тип проверки подлинности не разрешен или недостаточно для завершения проверки подлинности на сервере SFTP.
Рекомендация. Чтобы использовать правильный тип проверки подлинности, примените следующие параметры.
- Если серверу требуется пароль, используйте "Basic".
- Если серверу требуется закрытый ключ, используйте "проверку подлинности с помощью открытого ключа SSH".
- Если для сервера требуются "пароль" и "закрытый ключ", используйте "многофакторную проверку подлинности".
Причина. Сервер SFTP требует "интерактивную идентификацию на клавиатуре", но вы указали "пароль".
Рекомендация.
"Интерактивная идентификация на клавиатуре" — это специальный метод проверки подлинности, отличный от аутентификации по паролю. Это означает, что при входе на сервер необходимо ввести пароль вручную, и вы не можете использовать ранее сохраненный пароль. Но Фабрика данных Azure (ADF) — это запланированная служба передачи данных, и всплывающее окно ввода не позволяет ввести пароль во время выполнения.
Есть возможность имитировать ввод данных в фоновом режиме вместо ручного ввода, что эквивалентно изменению параметра "интерактивная идентификация на клавиатуре" на "пароль". Если вы можете принять этот риск безопасности, выполните следующие шаги, чтобы его разрешить:
- На портале ADF наведите указатель мыши на связанную службу SFTP и откройте ее содержимое, выбрав кнопку "Код".
- В раздел typeProperties добавьте
"allowKeyboardInteractiveAuth": true
.
Невозможно подключиться к SFTP, так как алгоритмы обмена ключами, предоставляемые SFTP, не поддерживаются в ADF.
Симптомы: вы не можете подключиться к SFTP через ADF и выполнить следующее сообщение об ошибке:
Failed to negotiate key exchange algorithm.
Причина. Алгоритмы обмена ключами, предоставляемые сервером SFTP, не поддерживаются в ADF. В ADF поддерживаются следующие алгоритмы обмена ключами:
- curve25519-sha256
- [email protected]
- ecdh-sha2-nistp256.
- ecdh-sha2-nistp384
- ecdh-sha2-nistp521
- diffie-hellman-group-exchange-sha256;
- Diffie-Hellman алгоритм обмена группами SHA1
- diffie-hellman-group16-sha512
- diffie-hellman-group14-sha256;
- diffie-hellman-group14-sha1.
- diffie-hellman-group1-sha1.
Последняя версия, поддерживающая указанные выше алгоритмы обмена ключами в SHIR, — 5.19.
Код ошибки: SftpInvalidHostKeyFingerprint
Сообщение.
Host key finger-print validation failed. Expected fingerprint is '<value in linked service>', real finger-print is '<server real value>'
Причина: Фабрика данных Azure теперь поддерживает более безопасные алгоритмы ключей узла в соединителе SFTP. Для новых алгоритмов требуется получить соответствующий отпечаток на сервере SFTP.
Поддерживаются следующие алгоритмы:
- ssh-ed25519
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
Рекомендация. Получите действительный отпечаток с помощью имени ключа узла в параметре
real finger-print
из сообщения об ошибке на сервере SFTP. Чтобы получить отпечаток на сервере SFTP, выполните соответствующую команду. Например, чтобы получить отпечаток на сервере Linux, выполните командуssh-keygen -E md5 -lf <keyFilePath>
. Команда может варьироваться среди различных типов серверов.
Код ошибки: Тип сжатия не поддерживается при отключенной блочной передаче
Сообщение.
"Disable chunking" is not compatible with "ZipDeflate" decompression.
Причина. Отключение фрагментирования несовместимо с zipDeflate декомпрессией.
Рекомендация. Загрузите двоичные данные в промежуточную область (например, Хранилище BLOB-объектов Azure) и распакуйте их в другом действии копирования.
HTTP
Код ошибки: HttpFileFailedToRead
Сообщение.
Failed to read data from http server. Check the error from http server:%message;
Причина: Эта ошибка возникает, когда Data Factory или конвейер Synapse обращается к HTTP-серверу, но операция HTTP-запроса завершается неудачно.
Рекомендация. Проверьте код состояния HTTP в сообщении об ошибке и устраните проблему с удаленным сервером.
Код ошибки: HttpSourceUnsupportedStatusCode
Сообщение.
Http source doesn't support HTTP Status Code '%code;'.
Причина: эта ошибка возникает, когда Фабрика данных Azure запрашивает источник HTTP, но получает непредвиденный код состояния.
Рекомендация. Подробнее о коде состояния HTTP см. в этом документе.
Связанный контент
Для получения дополнительных сведений об устранении неполадок воспользуйтесь следующими ресурсами: