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 минуты. |
| Удалить файл |
Эта операция удаляет файл. |
Вывод списка файлов в корневой папке
Эта операция получает список файлов и вложенных папок в корневой папке.
Возвращаемое значение
- response
- array of BlobMetadata
Вывод списка файлов в папке
Эта операция получает список файлов и вложенных папок в папке.
Параметры
| Имя | Ключ | Обязательно | Тип | Описание |
|---|---|---|---|---|
|
Folder
|
id | True | string |
Выбор папки |
Возвращаемое значение
- response
- array of BlobMetadata
Извлечение архива в папку
Эта операция извлекает архивный файл в папку (например, .zip).
Параметры
| Имя | Ключ | Обязательно | Тип | Описание |
|---|---|---|---|---|
|
Путь к файлу исходного архива
|
source | True | string |
Путь к архиву |
|
Путь к папке назначения
|
destination | True | string |
Путь к целевой папке |
|
Перезаписать?
|
overwrite | boolean |
Перезаписывает конечные файлы, если задано значение true. |
|
|
Создание папок?
|
createFolders | boolean |
Извлекает папки из архива, если задано значение true |
Возвращаемое значение
- response
- array of BlobMetadata
Копирование файла
Эта операция копирует файл на 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.