Поделиться через


FTP

Протокол передачи файлов (FTP) — это стандартный сетевой протокол, используемый для передачи файлов компьютера между клиентом и сервером в компьютерной сети. FTP основан на архитектуре модели клиентского сервера и использует отдельные подключения к данным между клиентом и сервером.

Этот соединитель доступен в следующих продуктах и регионах:

Услуга Class Регионы
Copilot Studio Стандарт Все регионы Power Automate , кроме следующих:
     - Правительство США (GCC High)
     - Министерство обороны США (DoD)
Логические приложения Стандарт Все регионы Logic Apps
Power Apps Стандарт Все регионы Power Apps , кроме следующих:
     - Правительство США (GCC High)
     - Министерство обороны США (DoD)
Power Automate Стандарт Все регионы Power Automate , кроме следующих:
     - Правительство США (GCC High)
     - Министерство обороны США (DoD)
Метаданные соединителя
Publisher Microsoft

Известные проблемы и ограничения

  • В этой статье описываются операции только для управляемого соединителя FTP, который доступен для Azure Logic Apps, Power Automate и Power Apps. Встроенный соединитель FTP доступен только для рабочих процессов приложения логики уровня "Стандартный" в Azure Logic Apps. Дополнительные сведения о встроенном соединителе FTP в Azure Logic Apps см. в статье "Подключение к FTP-серверам" из рабочих процессов в Azure Logic Apps.

  • Триггеры FTP теперь возвращают только метаданные или свойства, а не содержимое файла. Однако вы можете следовать этим триггерам с помощью действия с именем Get file content. Чтобы убедиться, что триггер возвращает один файл за раз, а не список, обязательно включите параметр "Split On" триггера. Дополнительные сведения об этом параметре в Azure Logic Apps см. в разделе "Триггер нескольких запусков".

  • Триггеры FTP работают только в указанной папке, а не вложенной папке. Чтобы также проверить вложенные папки, настройте отдельный поток для каждой вложенной папки.

  • По умолчанию действия управляемого соединителя FTP могут считывать или записывать файлы размером 50 МБ или меньше. Для обработки файлов размером более 50 МБ можно использовать действие управляемого соединителя FTP с именем Get file content, которое неявно использует фрагментирование сообщений. Другие действия управляемого соединителя FTP также поддерживают включение блокирования сообщений.

  • Триггеры FTP могут возникать с задержками или неполными результатами при возврате только что созданных, добавленных или обновленных файлов.

    Когда триггер FTP проверяет наличие только что добавленного или измененного файла, триггер также подтверждает, что файл завершен. Например, файл может иметь изменения во время выполнения триггера проверки FTP-сервера. Чтобы избежать возврата неполного файла, триггер заметит метку времени файла, но не сразу возвращает файл. Вместо этого триггер возвращает файл, только если триггер снова проверяет сервер. Иногда это поведение может привести к задержке, которая длится до двух раз интервала опроса триггера. Из-за этого триггер FTP может не возвращать все файлы одновременно, если отключить параметр split On триггера FTP,

  • Триггеры управляемого соединителя FTP могут возникать с отсутствием, неполными или отложенными результатами при сохранении метки времени последнего изменения.

    • Отсутствующие результаты

      Триггеры FTP работают путем опроса или проверки файловой системы FTP и поиска файлов, которые изменились с момента последнего опроса. Управляемый соединитель FTP запускает сравнение версий файлов с помощью последней измененной метки времени.

      Если вы создаете, добавляете или обновляете файл с меткой времени, которая раньше, чем метка времени последнего изменения, триггер управляемого соединителя FTP не обнаружит этот файл. С другой стороны, триггер встроенного соединителя FTP в рабочих процессах приложения логики "Стандартный" не имеет этого ограничения.

      Таким образом, если вы используете внешний инструмент или клиент, который создает, добавляет или обновляет файлы на FTP-сервере, убедитесь, что вы отключите любую функцию в средстве или клиенте, которая сохраняет метку времени последнего изменения файла.

      В следующей таблице перечислены некоторые часто используемые средства, которые сохраняют эту метку времени и действия по отключению этой функции:

      FTP-клиент Действие
      WinSCP Перейдите к параметру "Параметры>">, чтобы изменить>метку>времени сохранения метки> времени.
      FileZilla Перейдите к>меткам времени сохранения временных меток передаваемых файлов>Disable.
    • Неполные или отложенные результаты

      Когда триггер FTP проверяет наличие только что созданного, добавленного или обновленного файла, триггер также проверяет, завершен ли файл. Например, файл может иметь изменения во время выполнения триггера проверки FTP-сервера. Чтобы избежать возврата неполного файла, триггер заметит метку времени файла, но не сразу возвращает файл. Вместо этого триггер возвращает файл, только если триггер снова проверяет сервер.

      Иногда это поведение может привести к задержке, которая длится почти в два раза интервала опроса триггера. Из-за этого, если отключить параметр split On триггера FTP, триггер FTP может не возвращать все файлы одновременно.

Требования

  • Для соединителя FTP требуется адрес сервера узла FTP и учетные данные учетной записи.

  • Соединитель FTP требует доступа к FTP-серверу из Интернета или через интернет. Дополнительные сведения о том, как разрешить трафик на FTP-сервер с помощью определенных диапазонов IP-адресов, ознакомьтесь с IP-адресами управляемого соединителя.

  • Соединитель FTP требует, чтобы FTP-сервер работал или принимался в пассивном режиме.

  • Соединитель FTP требует, чтобы FTP-сервер мог включить следующие команды и поддерживать папки, содержащие пробелы, чтобы команды могли работать правильно. Для команды LIST убедитесь, что команда возвращает year компонент для меток времени файла старше 6 месяцев.

    • APPE
    • DELE
    • СПИСОК
    • MDTM
    • RENAME
    • RETR
    • РАЗМЕР
    • STOR
  • Для безопасного FTP обязательно настройте явный протокол передачи файлов (FTPS), а не неявный FTPS. Кроме того, для некоторых FTP-серверов, таких как ProFTPd, необходимо включить NoSessionReuseRequired этот параметр, если используется режим TLS, преемник протокола SSL.

    Соединитель FTP не работает с неявными FTPS и поддерживает только явный FTP через FTPS, который является расширением TLS.

FTP-подключения

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

    При создании подключения к FTP-серверу поле профиля подключения, которое отображается, имеет параметр "Закрыть подключение после завершения запроса". Этот параметр указывает, следует ли закрывать подключение FTP-сервера каждый раз после завершения запроса. Если этот параметр отключен, подключение не будет закрываться после завершения запроса и остается активным для дальнейшего использования.

  • Если экземпляры рабочих процессов выполняются параллельно, могут возникать периодические ошибки подключения. Некоторые операции в рабочем процессе могут принудительно закрыть подключение, даже если другие операции в рабочем процессе по-прежнему используют это подключение.

    Чтобы избежать этого сценария, попробуйте выполнить следующие рекомендации.

    • При создании подключения включите подключение Close после настройки завершения запроса .

    • Отключите любую параллелизацию или параллелизм, включенную в триггерах или действиях. Дополнительные сведения об этом решении в Azure Logic Apps см. в следующей документации:

    • Избегайте выполнения нескольких параллельных потоков.

Использование действия "Создать файл" с блоками и без нее

Для действия "Создать файл " поведение зависит от параметра "Разрешить блокирование " действия и размера создаваемого файла:

  • Разрешить блокирование включено:

    • Размер файла равен или меньше 50 МБ: действие отправляет файл с одним запросом, использует исходное имя файла и блокирует файл во время отправки.

    • Размер файла превышает 50 МБ: действие создает файл с форматом имени, именем файла.new-GUID.ms.partial и отправляет файл с помощью нескольких запросов или фрагментирования сообщений. После отправки последнего блока действие переименовывает файл с исходным именем файла.

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

Руководство по соединителю

Сведения об использовании управляемого соединителя FTP и встроенного соединителя в Azure Logic Apps см. в статье "Подключение к FTP-серверам" из рабочих процессов в Azure Logic Apps.

Общие ограничения

Имя Ценность
Максимальное количество папок в одном архиве. Это ограничение применяется только при создании папок? имеет значение "Да". 16
Максимальное количество мегабайт, передаваемых в соединитель или из соединителя в течение интервала времени пропускной способности (на соединение) 1000
Интервал времени пропускной способности (в милисекундах) 60 000

Создание подключения

Соединитель поддерживает следующие типы проверки подлинности:

По умолчанию Параметры для создания подключения. Все регионы Недоступен для совместного использования

По умолчанию

Применимо: все регионы

Параметры для создания подключения.

Это недоступно для общего доступа. Если приложение power предоставляется другому пользователю, пользователю будет предложено явно создать новое подключение.

Имя Тип Description Обязательно
Адрес сервера струна Адрес сервера True
Имя пользователя струна Имя пользователя True
Пароль securestring Пароль True
Порт FTP-сервера инт Номер FTP-порта (пример: 21)
Включить SSL? bool Включить SSL? (True/False)
Двоичный транспорт? bool Включение двоичного транспорта? (True/False)
Отключить проверку сертификата? bool Отключить проверку сертификата? (True/False)
Закрытие подключения после завершения запроса bool Закройте FTP-подключение каждый раз после завершения запроса? (True/False)

Ограничения регулирования

Имя Вызовы Период обновления
Вызовы API для каждого подключения 900 60 секунд

Действия

Вывод списка файлов в корневой папке

Эта операция получает список файлов и вложенных папок в корневой папке.

Вывод списка файлов в папке

Эта операция получает список файлов и вложенных папок в папке.

Извлечение архива в папку

Эта операция извлекает архивный файл в папку (например, .zip).

Копирование файла

Эта операция копирует файл на FTP-сервер. Если файл удаляется или переименовывается на сервере сразу после его копирования, соединитель может вернуть ошибку HTTP 404 по его проектированию. Перед удалением или переименованием только что созданного файла используйте задержку в течение 1 минуты.

Обновление файла

Эта операция обновляет файл. Если файл удаляется или переименовывается на сервере сразу после его обновления, соединитель может вернуть ошибку HTTP 404 по его проектированию. Перед удалением или переименованием недавно обновленного файла используйте задержку на 1 минуту.

Получение метаданных файла

Эта операция получает метаданные для файла.

Получение метаданных файла с помощью пути

Эта операция получает метаданные файла с помощью пути к файлу.

Получение содержимого файла с помощью пути

Эта операция получает содержимое файла с помощью пути к файлу.

Получить содержимое файла

Эта операция получает содержимое файла.

Создать файл

Эта операция создает файл. Если файл удаляется или переименовывается на сервере сразу после его создания, соединитель может вернуть ошибку HTTP 404 по его проектированию. Перед удалением или переименованием только что созданного файла используйте задержку в течение 1 минуты.

Удалить файл

Эта операция удаляет файл.

Вывод списка файлов в корневой папке

Эта операция получает список файлов и вложенных папок в корневой папке.

Возвращаемое значение

Вывод списка файлов в папке

Эта операция получает список файлов и вложенных папок в папке.

Параметры

Имя Ключ Обязательно Тип Описание
Folder
id True string

Выбор папки

Возвращаемое значение

Извлечение архива в папку

Эта операция извлекает архивный файл в папку (например, .zip).

Параметры

Имя Ключ Обязательно Тип Описание
Путь к файлу исходного архива
source True string

Путь к архиву

Путь к папке назначения
destination True string

Путь к целевой папке

Перезаписать?
overwrite boolean

Перезаписывает конечные файлы, если задано значение true.

Создание папок?
createFolders boolean

Извлекает папки из архива, если задано значение true

Возвращаемое значение

Копирование файла

Эта операция копирует файл на FTP-сервер. Если файл удаляется или переименовывается на сервере сразу после его копирования, соединитель может вернуть ошибку HTTP 404 по его проектированию. Перед удалением или переименованием только что созданного файла используйте задержку в течение 1 минуты.

Параметры

Имя Ключ Обязательно Тип Описание
URL-адрес источника
source True string

URL-адрес исходного файла

Путь к целевому файлу
destination True string

Путь к целевому файлу, включая имя целевого файла

Перезаписать?
overwrite boolean

Перезаписывает целевой файл, если задано значение true.

Возвращаемое значение

Метаданные больших двоичных объектов

Тело
BlobMetadata

Обновление файла

Эта операция обновляет файл. Если файл удаляется или переименовывается на сервере сразу после его обновления, соединитель может вернуть ошибку HTTP 404 по его проектированию. Перед удалением или переименованием недавно обновленного файла используйте задержку на 1 минуту.

Параметры

Имя Ключ Обязательно Тип Описание
Файл
id True string

Выбор файла

Содержимое файла
body True binary

Содержимое файла

Возвращаемое значение

Метаданные больших двоичных объектов

Тело
BlobMetadata

Получение метаданных файла

Эта операция получает метаданные для файла.

Параметры

Имя Ключ Обязательно Тип Описание
Файл
id True string

Выбор файла

Возвращаемое значение

Метаданные больших двоичных объектов

Тело
BlobMetadata

Получение метаданных файла с помощью пути

Эта операция получает метаданные файла с помощью пути к файлу.

Параметры

Имя Ключ Обязательно Тип Описание
Путь к файлу
path True string

Выбор файла

Возвращаемое значение

Метаданные больших двоичных объектов

Тело
BlobMetadata

Получение содержимого файла с помощью пути

Эта операция получает содержимое файла с помощью пути к файлу.

Параметры

Имя Ключ Обязательно Тип Описание
Путь к файлу
path True string

Выбор файла

Тип контента вывода
inferContentType boolean

Вывод типа контента на основе расширения

Возвращаемое значение

Содержимое файла.

Содержимое файла
binary

Получить содержимое файла

Эта операция получает содержимое файла.

Параметры

Имя Ключ Обязательно Тип Описание
Файл
id True string

Выбор файла

Тип контента вывода
inferContentType boolean

Вывод типа контента на основе расширения

Возвращаемое значение

Содержимое файла.

Содержимое файла
binary

Создать файл

Эта операция создает файл. Если файл удаляется или переименовывается на сервере сразу после его создания, соединитель может вернуть ошибку HTTP 404 по его проектированию. Перед удалением или переименованием только что созданного файла используйте задержку в течение 1 минуты.

Параметры

Имя Ключ Обязательно Тип Описание
Путь к папке
folderPath True string

Выбор папки

Имя файла
name True string

Имя файла

Содержимое файла
body True binary

Содержимое файла

Получение всех метаданных файла
ReadFileMetadataFromServer boolean

Получите все метаданные файла с сервера SFTP после завершения создания файла. Если это значение равно false, некоторые свойства метаданных могут не возвращаться, например время последнего изменения и т. д.

Возвращаемое значение

Метаданные больших двоичных объектов

Тело
BlobMetadata

Удалить файл

Эта операция удаляет файл.

Параметры

Имя Ключ Обязательно Тип Описание
Файл
id True string

Выбор файла

Триггеры

При добавлении или изменении файла (только свойств)

Эта операция активирует поток при добавлении или изменении одного или нескольких файлов в папку. Этот триггер будет получить только метаданные файла. Чтобы получить содержимое файла, можно использовать операцию "Получить содержимое файла". Триггер использует время последнего изменения файла. Если файл создается сторонним клиентом, сохранение последнего измененного времени должно быть отключено в клиенте. Триггер не запускается, если файл добавляется или обновляется в вложенной папке. Если требуется активировать в вложенных папках, необходимо создать несколько триггеров.

При добавлении или изменении файла [DEPRECATED]

Эта операция активирует поток при добавлении или изменении файла в папке. Триггер получит как метаданные файла, так и содержимое файла. Триггер использует время последнего изменения файла. Если файл создается сторонним клиентом, сохранение последнего измененного времени должно быть отключено в клиенте. Файлы размером более 50 мегабайт пропускаются триггером. Триггер не запускается, если файл добавляется или обновляется в вложенной папке. Если требуется активировать в вложенных папках, необходимо создать несколько триггеров.

При добавлении или изменении файла (только свойств)

Эта операция активирует поток при добавлении или изменении одного или нескольких файлов в папку. Этот триггер будет получить только метаданные файла. Чтобы получить содержимое файла, можно использовать операцию "Получить содержимое файла". Триггер использует время последнего изменения файла. Если файл создается сторонним клиентом, сохранение последнего измененного времени должно быть отключено в клиенте. Триггер не запускается, если файл добавляется или обновляется в вложенной папке. Если требуется активировать в вложенных папках, необходимо создать несколько триггеров.

Параметры

Имя Ключ Обязательно Тип Описание
Folder
folderId True string

Выбор папки

Количество возвращаемых файлов
maxFileCount integer

Максимальное количество файлов для возврата по одному триггеру (1–100). Обратите внимание, что параметр Split On может принудительно активировать обработку каждого элемента по отдельности.

Возвращаемое значение

Метаданные больших двоичных объектов

Список файлов
BlobMetadata

При добавлении или изменении файла [DEPRECATED]

Эта операция активирует поток при добавлении или изменении файла в папке. Триггер получит как метаданные файла, так и содержимое файла. Триггер использует время последнего изменения файла. Если файл создается сторонним клиентом, сохранение последнего измененного времени должно быть отключено в клиенте. Файлы размером более 50 мегабайт пропускаются триггером. Триггер не запускается, если файл добавляется или обновляется в вложенной папке. Если требуется активировать в вложенных папках, необходимо создать несколько триггеров.

Параметры

Имя Ключ Обязательно Тип Описание
Folder
folderId True string

Выбор папки

Включение содержимого файла
includeFileContent boolean

Если задано значение true, содержимое файла также будет извлечено вместе с ответом триггера.

Тип контента вывода
inferContentType boolean

Вывод типа контента на основе расширения

Возвращаемое значение

Содержимое файла.

Содержимое файла
binary

Определения

BlobMetadata

Метаданные больших двоичных объектов

Имя Путь Тип Описание
Идентификатор
Id string

Уникальный идентификатор файла или папки.

Имя
Name string

Имя файла или папки.

Отображаемое имя
DisplayName string

Отображаемое имя файла или папки.

Путь
Path string

Путь к файлу или папке.

ПоследнееИзменение
LastModified date-time

Дата и время последнего изменения файла или папки.

Size
Size integer

Размер файла или папки.

Тип мультимедиа
MediaType string

Тип носителя файла или папки.

IsFolder
IsFolder boolean

Логическое значение (true, false), указывающее, является ли большой двоичный объект папкой.

ЭТаг
ETag string

Etag файла или папки.

FileLocator
FileLocator string

Файловый указатель файла или папки.

бинарный

Это базовый тип данных binary.