Ограничения и известные проблемы с поддержкой протокола SFTP в Хранилище BLOB-объектов Azure

В этой статье описаны ограничения и известные проблемы с SFTP в Хранилище BLOB-объектов Azure, чтобы вы могли устранить неполадки при передаче файлов и проверить совместимость клиентов и рабочих процессов.

Внимание

Поскольку для использования SFTP необходимо включить иерархическое пространство имён, проблемы в разделе «Известные проблемы с Azure Data Lake Storage» также применимы к вашему аккаунту.

Неподдерживаемые клиенты

Следующие клиенты, как известно, не совместимы с SFTP для Хранилища BLOB-объектов Azure. Дополнительные сведения см. в разделе "Поддерживаемые алгоритмы".

  • Кемп
  • Paramiko 1.16.0
  • SSH.NET 2016.1.0 или более поздней версии
  • Renci SSH.NET 2014.6.0

Этот список не является исчерпывающим и может измениться с течением времени.

Параметры клиентов

Для передачи файлов в Хранилище BLOB-объектов Azure с помощью клиентов SFTP ознакомьтесь с приведенными ниже рекомендуемыми настройками.

  • WinSCP

    • В диалоговом окне «Настройки» выберите «Передача»>«Устойчивость», а затем установите для параметра «Включить возобновление передачи/передачу во временный файл» значение «Отключить».

Внимание

Если этот параметр включен, это может привести к сбоям или снижению производительности во время отправки больших файлов.

Неподдерживаемые операции

Категория Неподдерживаемые операции
Случайные записи Операции, включающие флаги READ и WRITE. Например, SSH.NET создание API
Ссылки.
  • symlink — создание символьных ссылок
  • ln — создание жестких ссылок
  • Чтение ссылок не поддерживается
  • Сведения о производительности df — сведения об использовании файловой системы
    Расширения Неподдерживаемые расширения включают fsync@openssh.com, limits@openssh.com, lsetstat@openssh.com, statvfs@openssh.com, но не ограничиваются ими.
    Команды SSH SFTP — единственная поддерживаемая подсистема. Shell-запросы после обмена ключами не удаются.
    Операции записи с несколькими протоколами Случайные записи и добавления (PutBlock, PutBlockList, GetBlockList, AppendBlock) не допускаются из других протоколов (NFS, Blob REST, Data Lake Storage REST) на объектах BLOB, созданных с помощью SFTP. Разрешены полные перезаписи.
    Операции переименования Операции переименования, в которых имя целевого файла уже существует, являются нарушением протокола. Попытка такой операции возвращает ошибку. Дополнительные сведения см. в разделе Удаление и переименование файлов.
    Межконтейнерные операции Обход между контейнерами или выполнение операций с несколькими контейнерами из одного подключения не поддерживается.
    Отменить удаление Нельзя восстановить мягко удалённый blob с помощью SFTP. Используйте Undelete REST API.

    Доступ к ACL и стандартным ACL

    • SFTP в настоящее время не поддерживает ACL по умолчанию или дополнительные списки управления доступом (записи ACL, выходящие за рамки записьей POSIX user::, group::, и other::, таких как именованные пользователи или именованные группы).

    • Если в любом каталоге на пути доступа (включая домашнюю директорию пользователя) установлены стандартные ACL или дополнительные ACL доступа, операции SFTP не выполняются с Permission denied, даже если у подключающегося пользователя есть необходимые права.

    Обходное решение: Удалите списки управления доступом по умолчанию и дополнительные списки управления доступом из всех каталогов в пути доступа SFTP (включая домашний каталог пользователя), чтобы оставались только записи POSIX user::, group::, и other::.

    Дополнительные сведения о списках управления доступом и их редактировании см. в списках управления доступом (ACL).

    Сеть

    • Чтобы получить доступ к аккаунту хранения с помощью SFTP, ваша сеть должна разрешить трафик на порте 22.

    • Аккаунты хранения не поддерживают статические IP-адреса. Это ограничение не относится только к SFTP.

    • Неактивные соединения или соединения в состоянии простоя прерываются по тайм-ауту после двух минут. OpenSSH перестаёт отвечать и затем отключается. Некоторые клиенты повторно подключаются автоматически.

    Дополнительные ограничения SFTP

    • Сведения о вопросах и факторах производительности см. в статье «Факторы производительности протокола SFTP в хранилище BLOB-объектов Azure».

    • По умолчанию свойство Content-MD5 для blobs, загруженных с помощью SFTP, равно null. Чтобы заполнить это свойство MD5-хешем, клиенту нужно вычислить хэш и задать свойство Content-MD5 перед загрузкой blob.

    • Максимальный размер загрузки файла через SFTP-конечную точку составляет 500 ГБ.

    • Плановое переключение при отказе, инициируемое клиентом, поддерживается для стандартных учетных записей общего назначения v2, а для учетных записей premium для блочных BLOB-объектов — в рамках предварительной версии. Дополнительные сведения см. в разделе о планировании аварийного восстановления хранилища Azure и переключении на резервный.

    • Чтобы изменить настройки избыточности или репликации в аккаунте хранения, необходимо отключить SFTP. Вы можете снова включить SFTP после завершения конвертации.

    • Вы не можете получить доступ к специальным контейнерам, таким как $logs, $blobchangefeed, $root, и $web через конечную точку SFTP.

    • Протоколы FTPS и FTP не поддерживаются.

    • SFTP не использует TLS или SSL.

    • Поддерживается только SSH версии 2.

    • Избегайте имен BLOB-объектов или каталогов, заканчивающихся точкой (.), косой чертой (/), обратной косой чертой (\), или последовательностью, или комбинацией этих символов. Сегменты пути не должны заканчиваться точкой (.). Дополнительные сведения см. в статье Об именовании и ссылках на контейнеры, большие двоичные объекты и метаданные.

    Возможности BLOB-хранилища

    При включении поддержки SFTP некоторые функции Хранилище BLOB-объектов полностью поддерживаются, но некоторые могут поддерживаться только на уровне предварительного просмотра или вообще не поддерживаться.

    Чтобы узнать, как поддерживается каждая функция хранилища BLOB-объектов в учетных записях с включенной поддержкой SFTP, см. Поддержка функций хранилища BLOB-объектов в учетных записях служба хранилища Azure.

    Устранение неполадок

    • Чтобы устранить ошибку Failed to update SFTP settings for account 'accountname'. Error: The value 'True' isn't allowed for property isSftpEnabled. , убедитесь, что аккаунт хранения соответствует следующим требованиям:

      • Аккаунт — это универсальный v2 или премиум-блок-аккаунт.

      • Для учётной записи включено иерархическое пространство имён.

    • Чтобы устранить ошибку Home Directory not accessible, проверьте следующее:

      • Пользователь имеет соответствующие права на использование контейнера.

      • Строка строка подключения указывает имя контейнера для локальных пользователей, у которых нет домашней директории.

      • Строка строка подключения указывает имя контейнера для локальных пользователей, чья домашняя папка не существует.

    • Чтобы устранить ошибку Received disconnect from XX.XXX.XX.XXX port 22:11: при подключении, проверьте следующее:

      • Для доступа из общедоступной сети задано значение Enabled from all networks или Enabled from selected virtual networks and IP addresses.

      • IP-адрес клиента разрешен брандмауэром.

    См. также