Подключение на FTP-сервер из рабочих процессов в Azure Logic Apps
Область применения: Azure Logic Apps (Потребление + Стандартный)
В этой статье показано, как получить доступ к серверу FTP из рабочего процесса в Azure Logic Apps с помощью соединителя FTP. Затем можно создать автоматизированные рабочие процессы, которые выполняются при активации событий на FTP-сервере или в других системах, а также выполнять действия для управления файлами на FTP-сервере.
Например, рабочий процесс может начаться с триггера FTP, отслеживающего и реагирующего на события на FTP-сервере. Триггер делает выходные данные доступными для последующих действий в рабочем процессе. Рабочий процесс может выполнять действия FTP, которые создают, отправляют, получают и управляют файлами с помощью учетной записи FTP-сервера с помощью следующих конкретных задач:
- мониторинг добавления или изменения файлов;
- Создание, копирование, удаление, перечисление и обновление файлов.
- Получение метаданных и содержимого файла.
- Управление папками.
Если вы не знакомы с Azure Logic Apps, ознакомьтесь со следующей документацией по началу работы:
- Что такое 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.
Необходимые компоненты
Учетная запись и подписка Azure. Если у вас еще нет подписки Azure, зарегистрируйтесь для получения бесплатной учетной записи Azure.
Рабочий процесс приложения логики, в котором требуется получить доступ к учетной записи FTP. Чтобы запустить рабочий процесс с триггером FTP, необходимо начать с пустого рабочего процесса. Чтобы использовать действие FTP, запустите рабочий процесс с другим триггером, например триггер повторения.
Дополнительные требования, применимые как к управляемому соединителю FTP, так и к встроенному соединителю, см . в справочнике по управляемому соединителю FTP — требования.
Известные проблемы
По умолчанию триггеры, возвращающие массив, имеют параметр Split On , который уже включен. Если этот параметр включен, триггер автоматически расшифровывает массив, создавая отдельный экземпляр рабочего процесса для обработки каждого элемента массива. Все экземпляры рабочих процессов выполняются параллельно, чтобы элементы массива обрабатывались одновременно.
Однако при включении параметра Split On управляемый соединитель возвращает выходные данные для всех элементов массива в виде списков. Любые последующие действия, ссылающиеся на эти выходные данные, должны сначала обрабатывать эти выходные данные в виде списков. Чтобы обрабатывать каждый элемент массива по отдельности, можно добавить дополнительные действия. Например, для итерации этих элементов массива можно использовать цикл "Для каждого цикла". Для триггеров, возвращающих только метаданные или свойства, используйте действие, которое сначала получает метаданные элемента массива, а затем используйте действие для получения содержимого элементов.
Этот подход необходимо применять только для триггеров управляемых соединителей, а не встроенных триггеров соединителя, возвращающих выходные данные для одного элемента массива в то время, когда параметр Split On включен.
Например, предположим, что у вас есть триггер управляемого соединителя с именем "При добавлении или изменении файла" (только свойств), который возвращает метаданные или свойства для новых или обновленных файлов в виде массивов. Чтобы получить метаданные отдельно для каждого файла, можно использовать цикл Для каждого цикла, который выполняет итерацию по массиву. В этом цикле используйте следующие действия управляемого соединителя в указанном порядке:
Получение метаданных файла для получения метаданных каждого файла.
Получите действие содержимого файла, чтобы получить содержимое каждого файла.
Добавление триггера FTP
Рабочий процесс приложения логики потребления может использовать только управляемый соединитель FTP. Однако рабочий процесс приложения логики уровня "Стандартный" может использовать управляемый соединитель FTP и встроенный соединитель FTP. В рабочем процессе приложения логики уровня "Стандартный" управляемые соединители также помечены как соединители Azure .
Управляемый соединитель FTP и встроенный соединитель имеют только один триггер:
Триггер управляемого соединителя: триггер FTP с именем "При добавлении или изменении файла" (только свойств) запускается рабочий процесс приложения логики "Потребление" или "Стандартный", когда один или несколько файлов добавляются или изменяются в папку на FTP-сервере. Этот триггер получает только свойства файла или метаданные, а не содержимое файла. Однако, чтобы получить содержимое файла, рабочий процесс может следовать этому триггеру с другими действиями FTP.
Дополнительные сведения об этом триггере см. в статье о добавлении или изменении файла (только свойств).
Встроенный триггер соединителя: триггер FTP с именем "При добавлении или обновлении файла" запускается рабочий процесс приложения логики "Стандартный" при добавлении или изменении одного или нескольких файлов в папке на FTP-сервере. Этот триггер получает только свойства файла или метаданные, а не содержимое файла. Однако, чтобы получить содержимое, рабочий процесс может следовать этому триггеру с другими действиями FTP. Дополнительные сведения об этом триггере см. в статье "При добавлении или обновлении файла".
Следующие действия используют портал Azure, но с соответствующим расширением Azure Logic Apps можно также использовать следующие средства для создания и редактирования рабочих процессов приложения логики:
Рабочие процессы приложения логики потребления: Visual Studio или Visual Studio Code
Стандартные рабочие процессы приложения логики: Visual Studio Code
В портал Azure откройте пустой рабочий процесс приложения логики в конструкторе.
В конструкторе в поле поиска выберите "Стандартный". В поле поиска введите ftp.
В списке триггеров выберите триггер с именем "При добавлении или изменении" (только свойств).
Укажите сведения о подключении. По завершении нажмите Создать.
Примечание.
По умолчанию этот соединитель передает файлы в текстовом формате. Для передачи файлов в двоичном формате, например, где и когда используется кодировка, выберите параметр двоичного транспорта.
После появления поля сведений о триггере найдите папку, которую вы хотите отслеживать для новых или измененных файлов.
В поле "Папка" выберите значок папки, чтобы просмотреть каталог папок.
Выберите стрелку вправо (>). Перейдите к нужной папке и выберите папку.
Выбранная папка отображается в поле Folder.
Закончив работу, сохраните свой рабочий процесс.
При сохранении рабочего процесса этот шаг автоматически публикует обновления в развернутом приложении логики, которое находится в Azure. С триггером рабочий процесс просто проверка FTP-сервер на основе указанного расписания. Необходимо добавить действие, которое отвечает на триггер и выполняет что-то с выходными данными триггера.
Добавление действия FTP
Рабочий процесс приложения логики потребления может использовать только управляемый соединитель FTP. Однако рабочий процесс приложения логики уровня "Стандартный" может использовать управляемый соединитель FTP и встроенный соединитель FTP. Каждая версия имеет несколько действий. Например, у управляемых и встроенных версий соединителей есть собственные действия для получения метаданных файла и получения содержимого файла.
Действия управляемого соединителя: эти действия выполняются в рабочем процессе приложения логики "Потребление" или "Стандартный".
Встроенные действия соединителя: эти действия выполняются только в рабочем процессе приложения логики "Стандартный".
Следующие действия используют портал Azure, но с соответствующим расширением Azure Logic Apps можно также использовать следующие средства для создания и редактирования рабочих процессов приложения логики:
Рабочие процессы приложения логики потребления: Visual Studio или Visual Studio Code
Стандартные рабочие процессы приложения логики: Visual Studio Code
Прежде чем использовать действие FTP, рабочий процесс должен начинаться с триггера, который может быть любым выбранным типом. Например, можно использовать универсальный триггер повторения для запуска рабочего процесса по конкретному расписанию.
В портал Azure и откройте рабочий процесс приложения логики в конструкторе.
Найдите и выберите действие FTP, которое вы хотите использовать.
Этот пример продолжается с действием Get file metadata , чтобы получить метаданные для одного элемента массива.
В конструкторе в разделе триггера или других действий выберите новый шаг.
В поле "Выбор операции" выберите "Стандартный".
В поле поиска введите метаданные файла ftp.
В списке действий выберите действие с именем Get file metadata.
При необходимости укажите сведения о подключении. По завершении нажмите Создать.
Примечание.
По умолчанию этот соединитель передает файлы в текстовом формате. Для передачи файлов в двоичном формате, например, где и когда используется кодировка, выберите параметр двоичного транспорта.
После появления поля "Получение сведений о действии метаданных файла" щелкните внутри поля "Файл", чтобы открыть список динамического содержимого.
Теперь можно выбрать выходные данные из предыдущего триггера.
В списке динамического содержимого в разделе "При добавлении или изменении файла" выберите "Список файлов".
Теперь свойство File ссылается на выходные данные триггера идентификатора файла.
В конструкторе в действии "Получить метаданные файла" выберите новый шаг.
В поле "Выбор операции" выберите "Стандартный".
В поле поиска введите содержимое файла ftp.
В списке действий выберите действие с именем Get file content.
После появления поля действия "Получить содержимое файла" щелкните внутри поля "Файл", чтобы открыть динамический список содержимого.
Теперь вы можете выбрать выходные данные из предыдущего триггера и любых других действий.
В списке динамического содержимого в разделе "Получить метаданные файла" выберите идентификатор, который ссылается на файл, добавленный или обновленный.
Теперь свойство File ссылается на выходные данные действия идентификатора.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Тестирование рабочего процесса
Чтобы проверка, что рабочий процесс возвращает ожидаемое содержимое, добавьте другое действие, которое отправляет содержимое из добавленного или обновленного файла. В этом примере используется действие Office 365 Outlook с именем "Отправить сообщение электронной почты".
В действии "Получить содержимое файла" добавьте действие Outlook Office 365 с именем "Отправить сообщение электронной почты". Если у вас есть учетная запись Outlook.com, добавьте Outlook.com отправить действие электронной почты и настройте следующие шаги соответствующим образом.
В конструкторе в разделе действия "Получить содержимое файла" выберите новый шаг.
В поле "Выбор операции" выберите "Стандартный".
В поле поиска введите office 365 outlook для отправки сообщения электронной почты. В списке действий выберите действие Office 365 Outlook с именем "Отправить сообщение электронной почты".
При необходимости войдите в учетную запись электронной почты.
В поле сведений о действии укажите необходимые значения и включите любые другие параметры или свойства, которые требуется проверить.
Например, можно включить выходные данные содержимого файла из действия получения содержимого файла. Чтобы найти эти выходные данные, выполните следующие действия.
В действии "Получить содержимое файла" щелкните внутри поля "Текст", чтобы открыть динамический список содержимого.
В списке динамического содержимого рядом с файлом выберите пункт "Дополнительные сведения".
В списке динамического содержимого в разделе "Получить содержимое файла" выберите "Содержимое файла".
Теперь свойство Body ссылается на выходные данные действия содержимого файла.
Сохраните рабочий процесс приложения логики.
Чтобы запустить и активировать рабочий процесс, на панели инструментов конструктора выберите "Запустить триггер>". Добавьте файл в папку 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 |