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


Подключение на FTP-сервер из рабочих процессов в Azure Logic Apps

Область применения: Azure Logic Apps (Потребление + Стандартный)

В этой статье показано, как получить доступ к серверу FTP из рабочего процесса в Azure Logic Apps с помощью соединителя FTP. Затем можно создать автоматизированные рабочие процессы, которые выполняются при активации событий на FTP-сервере или в других системах, а также выполнять действия для управления файлами на FTP-сервере.

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

  • мониторинг добавления или изменения файлов;
  • Создание, копирование, удаление, перечисление и обновление файлов.
  • Получение метаданных и содержимого файла.
  • Управление папками.

Если вы не знакомы с Azure Logic Apps, ознакомьтесь со следующей документацией по началу работы:

технический справочник по Подключение or

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

Тип приложения логики (план) Среда Версия соединителя
Потребление Мультитенантные Azure Logic Apps Управляемый соединитель (класс Standard). Дополнительные сведения см. в следующей документации:

- Справочник по управляемому соединителю FTP
- Управляемые соединители в Azure Logic Apps
Потребление Среда службы интеграции (ISE) Управляемый соединитель (стандартный класс) и версия ISE, которая имеет разные ограничения сообщений, отличные от класса Standard. Дополнительные сведения см. в следующей документации:

- Справочник по управляемому соединителю FTP
- Ограничения для сообщений ISE
- Управляемые соединители в Azure Logic Apps
Стандартные Azure Logic Apps с одним клиентом и Среда службы приложений версии 3 (только планы Windows) Управляемый соединитель (размещенный в Azure) и встроенный соединитель, основанный на поставщике услуг. Встроенный соединитель может напрямую получить доступ к виртуальным сетям Azure с помощью строка подключения. Дополнительные сведения см. в следующей документации:

- Справочник по управляемому соединителю FTP
- Раздел операций встроенного соединителя FTP далее в этой статье
- Управляемые соединители в Azure Logic Apps
- Встроенные соединители в Azure Logic Apps

Ограничения

  • Емкость и пропускная способность

    • Встроенный соединитель для стандартных рабочих процессов:

      По умолчанию действия FTP могут считывать или записывать файлы размером 200 МБ или меньше. В настоящее время встроенный соединитель FTP не поддерживает блоки.

    • Управляемый или размещенный в Azure соединитель для рабочих процессов "Потребление" и "Стандартный"

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

  • Триггеры управляемого или размещенного в Azure соединителя FTP могут столкнуться с отсутствием, неполными или отложенными результатами при сохранении метки времени последнего изменения. С другой стороны, триггер встроенного соединителя FTP в рабочих процессах приложения логики "Стандартный" не имеет этого ограничения. Дополнительные сведения см. в разделе "Ограничения соединителя FTP".

  • Управляемый или размещенный в Azure соединитель FTP может создавать ограниченное количество подключений к FTP-серверу на основе емкости подключения в регионе Azure, где существует ресурс приложения логики. Если это ограничение представляет проблему в рабочем процессе приложения логики потребления, попробуйте создать рабочий процесс приложения логики уровня "Стандартный" и использовать встроенный соединитель FTP.

Необходимые компоненты

Известные проблемы

По умолчанию триггеры, возвращающие массив, имеют параметр Split On , который уже включен. Если этот параметр включен, триггер автоматически расшифровывает массив, создавая отдельный экземпляр рабочего процесса для обработки каждого элемента массива. Все экземпляры рабочих процессов выполняются параллельно, чтобы элементы массива обрабатывались одновременно.

Однако при включении параметра Split On управляемый соединитель возвращает выходные данные для всех элементов массива в виде списков. Любые последующие действия, ссылающиеся на эти выходные данные, должны сначала обрабатывать эти выходные данные в виде списков. Чтобы обрабатывать каждый элемент массива по отдельности, можно добавить дополнительные действия. Например, для итерации этих элементов массива можно использовать цикл "Для каждого цикла". Для триггеров, возвращающих только метаданные или свойства, используйте действие, которое сначала получает метаданные элемента массива, а затем используйте действие для получения содержимого элементов.

Этот подход необходимо применять только для триггеров управляемых соединителей, а не встроенных триггеров соединителя, возвращающих выходные данные для одного элемента массива в то время, когда параметр Split On включен.

Например, предположим, что у вас есть триггер управляемого соединителя с именем "При добавлении или изменении файла" (только свойств), который возвращает метаданные или свойства для новых или обновленных файлов в виде массивов. Чтобы получить метаданные отдельно для каждого файла, можно использовать цикл Для каждого цикла, который выполняет итерацию по массиву. В этом цикле используйте следующие действия управляемого соединителя в указанном порядке:

  1. Получение метаданных файла для получения метаданных каждого файла.

  2. Получите действие содержимого файла, чтобы получить содержимое каждого файла.

Добавление триггера FTP

Рабочий процесс приложения логики потребления может использовать только управляемый соединитель FTP. Однако рабочий процесс приложения логики уровня "Стандартный" может использовать управляемый соединитель FTP и встроенный соединитель FTP. В рабочем процессе приложения логики уровня "Стандартный" управляемые соединители также помечены как соединители Azure .

Управляемый соединитель FTP и встроенный соединитель имеют только один триггер:

  • Триггер управляемого соединителя: триггер FTP с именем "При добавлении или изменении файла" (только свойств) запускается рабочий процесс приложения логики "Потребление" или "Стандартный", когда один или несколько файлов добавляются или изменяются в папку на FTP-сервере. Этот триггер получает только свойства файла или метаданные, а не содержимое файла. Однако, чтобы получить содержимое файла, рабочий процесс может следовать этому триггеру с другими действиями FTP.

    Дополнительные сведения об этом триггере см. в статье о добавлении или изменении файла (только свойств).

  • Встроенный триггер соединителя: триггер FTP с именем "При добавлении или обновлении файла" запускается рабочий процесс приложения логики "Стандартный" при добавлении или изменении одного или нескольких файлов в папке на FTP-сервере. Этот триггер получает только свойства файла или метаданные, а не содержимое файла. Однако, чтобы получить содержимое, рабочий процесс может следовать этому триггеру с другими действиями FTP. Дополнительные сведения об этом триггере см. в статье "При добавлении или обновлении файла".

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

  1. В портал Azure откройте пустой рабочий процесс приложения логики в конструкторе.

  2. В конструкторе в поле поиска выберите "Стандартный". В поле поиска введите ftp.

  3. В списке триггеров выберите триггер с именем "При добавлении или изменении" (только свойств).

    Screenshot shows Azure portal, Consumption workflow designer, and FTP trigger selected.

  4. Укажите сведения о подключении. По завершении нажмите Создать.

    Примечание.

    По умолчанию этот соединитель передает файлы в текстовом формате. Для передачи файлов в двоичном формате, например, где и когда используется кодировка, выберите параметр двоичного транспорта.

    Screenshot shows Consumption workflow designer and FTP connection profile.

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

    1. В поле "Папка" выберите значок папки, чтобы просмотреть каталог папок.

    2. Выберите стрелку вправо (>). Перейдите к нужной папке и выберите папку.

    Screenshot shows Consumption workflow designer, FTP trigger, and

    Выбранная папка отображается в поле Folder.

    Screenshot shows Consumption workflow designer, FTP trigger, and

  6. Закончив работу, сохраните свой рабочий процесс.

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

Добавление действия FTP

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

  • Действия управляемого соединителя: эти действия выполняются в рабочем процессе приложения логики "Потребление" или "Стандартный".

  • Встроенные действия соединителя: эти действия выполняются только в рабочем процессе приложения логики "Стандартный".

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

Прежде чем использовать действие FTP, рабочий процесс должен начинаться с триггера, который может быть любым выбранным типом. Например, можно использовать универсальный триггер повторения для запуска рабочего процесса по конкретному расписанию.

  1. В портал Azure и откройте рабочий процесс приложения логики в конструкторе.

  2. Найдите и выберите действие FTP, которое вы хотите использовать.

    Этот пример продолжается с действием Get file metadata , чтобы получить метаданные для одного элемента массива.

    1. В конструкторе в разделе триггера или других действий выберите новый шаг.

    2. В поле "Выбор операции" выберите "Стандартный".

    3. В поле поиска введите метаданные файла ftp.

    4. В списке действий выберите действие с именем Get file metadata.

    Screenshot shows the Azure portal, Consumption workflow designer, search box with

  3. При необходимости укажите сведения о подключении. По завершении нажмите Создать.

    Примечание.

    По умолчанию этот соединитель передает файлы в текстовом формате. Для передачи файлов в двоичном формате, например, где и когда используется кодировка, выберите параметр двоичного транспорта.

    Screenshot shows Consumption workflow designer and FTP connection profile for an action.

  4. После появления поля "Получение сведений о действии метаданных файла" щелкните внутри поля "Файл", чтобы открыть список динамического содержимого.

    Теперь можно выбрать выходные данные из предыдущего триггера.

  5. В списке динамического содержимого в разделе "При добавлении или изменении файла" выберите "Список файлов".

    Screenshot shows Consumption workflow designer,

    Теперь свойство File ссылается на выходные данные триггера идентификатора файла.

  6. В конструкторе в действии "Получить метаданные файла" выберите новый шаг.

  7. В поле "Выбор операции" выберите "Стандартный".

  8. В поле поиска введите содержимое файла ftp.

  9. В списке действий выберите действие с именем Get file content.

    Screenshot shows the Azure portal, Consumption workflow designer, search box with

  10. После появления поля действия "Получить содержимое файла" щелкните внутри поля "Файл", чтобы открыть динамический список содержимого.

    Теперь вы можете выбрать выходные данные из предыдущего триггера и любых других действий.

  11. В списке динамического содержимого в разделе "Получить метаданные файла" выберите идентификатор, который ссылается на файл, добавленный или обновленный.

    Screenshot shows Consumption workflow designer,

    Теперь свойство File ссылается на выходные данные действия идентификатора.

    Screenshot shows Consumption workflow designer,

  12. Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.

Тестирование рабочего процесса

Чтобы проверка, что рабочий процесс возвращает ожидаемое содержимое, добавьте другое действие, которое отправляет содержимое из добавленного или обновленного файла. В этом примере используется действие Office 365 Outlook с именем "Отправить сообщение электронной почты".

  1. В действии "Получить содержимое файла" добавьте действие Outlook Office 365 с именем "Отправить сообщение электронной почты". Если у вас есть учетная запись Outlook.com, добавьте Outlook.com отправить действие электронной почты и настройте следующие шаги соответствующим образом.

    1. В конструкторе в разделе действия "Получить содержимое файла" выберите новый шаг.

    2. В поле "Выбор операции" выберите "Стандартный".

    3. В поле поиска введите office 365 outlook для отправки сообщения электронной почты. В списке действий выберите действие Office 365 Outlook с именем "Отправить сообщение электронной почты".

    Screenshot shows Consumption workflow designer and

  2. При необходимости войдите в учетную запись электронной почты.

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

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

    1. В действии "Получить содержимое файла" щелкните внутри поля "Текст", чтобы открыть динамический список содержимого.

    2. В списке динамического содержимого рядом с файлом выберите пункт "Дополнительные сведения".

      Screenshot shows Consumption workflow designer,

    3. В списке динамического содержимого в разделе "Получить содержимое файла" выберите "Содержимое файла".

      Теперь свойство Body ссылается на выходные данные действия содержимого файла.

      Screenshot shows Consumption workflow designer,

  4. Сохраните рабочий процесс приложения логики.

  5. Чтобы запустить и активировать рабочий процесс, на панели инструментов конструктора выберите "Запустить триггер>". Добавьте файл в папку FTP, в которую отслеживается рабочий процесс.

Операции встроенного соединителя FTP

Встроенный соединитель FTP доступен только для рабочих процессов приложения логики уровня "Стандартный" и предоставляет следующие операции:

Триггер Description
При добавлении или обновлении файла Запустите рабочий процесс приложения логики при добавлении или обновлении файла в указанной папке на FTP-сервере.

Примечание. Этот триггер получает только метаданные или свойства файла, а не содержимое файла. Однако для получения содержимого рабочий процесс может следовать этому триггеру с помощью действия "Получить содержимое файла".

Действие Description
Создать файл Создайте файл с помощью указанного пути к файлу и содержимого файла.
Удалить файл Удалите файл с помощью указанного пути к файлу.
Получить содержимое файла Получите содержимое файла с помощью указанного пути к файлу.
Получение метаданных файла Получите метаданные или свойства файла с помощью указанного пути к файлу.
Вывод списка файлов и вложенных папок в папке Получите список файлов и вложенных папок в указанной папке.
Обновление файла Обновите файл с помощью указанного пути к файлу и содержимого файла.

При добавлении или обновлении файла

Идентификатор операции: whenFtpFilesAreAddedOrModified

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

Параметры

Имя Ключ Обязательное поле Тип Описание
Путь к папке folderPath Истина string Путь к папке относительно корневого каталога.
Количество возвращаемых файлов maxFileCount False integer Максимальное количество файлов, возвращаемых из одного запуска триггера. Допустимые значения варьируются от 1 до 100.

Примечание. По умолчанию параметр Split On включен и принудительно обрабатывает каждый файл по отдельности.
Метка времени отключения, чтобы игнорировать старые файлы oldFileCutOffTimestamp False dateTime Время отсечения, используемое для пропуска старых файлов. Используйте формат YYYY-MM-DDTHH:MM:SSметки времени. Чтобы отключить эту функцию, оставьте это свойство пустым.

Возвраты

Если параметр split On триггера включен, триггер возвращает метаданные или свойства для одного файла одновременно. В противном случае триггер возвращает массив, содержащий метаданные каждого файла.

Имя. Тип
Список файлов BlobMetadata

Создать файл

Идентификатор операции: createFile

Это действие создает файл, используя указанный путь к файлу и содержимое файла. Если файл уже существует, это действие перезаписывает этот файл.

Важно!

При удалении или переименовании файла на FTP-сервере сразу после создания в том же рабочем процессе операция может возвращать ошибку HTTP 404 , которая выполняется по проектированию. Чтобы избежать этой проблемы, добавьте 1-минутную задержку перед удалением или переименованием новых файлов. Действие "Задержка" можно использовать для добавления этой задержки в рабочий процесс.

Параметры

Имя Ключ Обязательное поле Тип Описание
Путь к файлу filePath Истина string Путь к файлу, включая расширение имени файла, если таковой есть, относительно корневого каталога.
Содержимое файла fileContent Истина string Содержимое файла.

Возвраты

Это действие возвращает объект BLOBMetadata с именем Body.

Имя. Тип
Имя файла метаданных string
Путь к файлу метаданных файла string
Размер файла метаданных файла string
Метаданные файла BlobMetadata

Удалить файл

Идентификатор операции: deleteFtpFile

Это действие удаляет файл с помощью указанного пути к файлу.

Параметры

Имя Ключ Обязательное поле Тип Описание
Путь к файлу filePath Истина string Путь к файлу, включая расширение имени файла, если таковой есть, относительно корневого каталога.

Возвраты

None

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

Идентификатор операции: getFtpFileContent

Это действие получает содержимое файла с помощью указанного пути к файлу.

Параметры

Имя Ключ Обязательное поле Тип Описание
Путь к файлу path Истина string Путь к файлу, включая расширение имени файла, если таковой есть, относительно корневого каталога.

Возвраты

Это действие возвращает содержимое файла в виде двоичного значения с именем содержимого файла.

Имя. Тип
Содержимое файла Binary

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

Идентификатор операции: getFileMetadata

Это действие получает метаданные или свойства файла с помощью указанного пути к файлу.

Параметры

Имя Ключ Обязательное поле Тип Описание
Путь к файлу path Истина string Путь к файлу, включая расширение имени файла, если таковой есть, относительно корневого каталога.

Возвраты

Это действие возвращает следующие выходные данные:

Имя. Тип
Имя файла string
Путь к файлу string
Размер файла string
Время последнего обновления string
Метаданные файла BlobMetadata

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

Идентификатор операции: listFilesInFolder

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

Параметры

Имя Ключ Обязательное поле Тип Описание
Путь к папке folderPath Истина string Путь к папке относительно корневого каталога.
Содержимое файла fileContent Истина string Содержимое файла

Возвраты

Это действие возвращает массив с именем Response и содержит объекты BLOBMetadata.

Имя. Тип
Отклик Массив с объектами BLOBMetadata

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

Идентификатор операции: updateFile

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

Важно!

При удалении или переименовании файла на FTP-сервере сразу после создания в том же рабочем процессе операция может возвращать ошибку HTTP 404 , которая выполняется по проектированию. Чтобы избежать этой проблемы, добавьте 1-минутную задержку перед удалением или переименованием новых файлов. Действие "Задержка" можно использовать для добавления этой задержки в рабочий процесс.

Параметры

Имя Ключ Обязательное поле Тип Описание
Путь к файлу filePath Истина string Путь к файлу, включая расширение имени файла, если таковой есть, относительно корневого каталога.
Содержимое файла fileContent Истина string Содержимое файла

Возвраты

Это действие возвращает объект BLOBMetadata с именем Body.

Имя. Тип
Текст BlobMetadata

Следующие шаги