Подключение к файловым серверу SFTP из рабочих процессов в Azure Logic Apps

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

В этом руководстве показано, как получить доступ к серверу SSH File Transfer Protocol (SFTP) из рабочего процесса в Azure Logic Apps. SFTP — это сетевой протокол, который предоставляет доступ к файлам, передачу файлов и управление файлами через любой надежный поток данных и использует протокол Secure Shell (SSH).

В рабочих процессах приложения логики потребления можно использовать управляемый соединитель SFTP-SSH, а в рабочих процессах приложения логики уровня "Стандартный" можно использовать встроенный соединитель SFTP или управляемый соединитель SFTP-SSH. Эти операции соединителя можно использовать для создания автоматизированных рабочих процессов, выполняемых при активации событий на сервере SFTP или в других системах, а также для управления файлами на сервере SFTP. Управляемые и встроенные соединители используют протокол SSH.

Примечание.

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

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

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

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

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

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

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

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

- Справочник по управляемому соединителю SFTP-SSH
- Справочник по встроенному соединителю SFTP

- Управляемые соединители в Azure Logic Apps
- Встроенные соединители в Azure Logic Apps

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

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

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

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

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

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

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

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

Разделение на блоки

Дополнительные сведения о том, как управляемый соединитель SFTP-SSH может обрабатывать большие файлы, превышающие ограничения размера по умолчанию, см . в справочнике по управляемому соединителю SFTP-SSH — блокирование.

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

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

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

  2. В конструкторе выполните следующие общие действия, чтобы добавить нужный триггер SFTP-SSH.

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

  4. После появления поля сведений о триггере укажите необходимые сведения для выбранного триггера. Дополнительные сведения см . в справочнике по триггерам управляемого соединителя SFTP-SSH.

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

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

Например, триггер с именем "При добавлении или изменении файла" запускает рабочий процесс при добавлении или изменении файла на сервере SFTP. В качестве последующего действия можно добавить условие, которое проверяет, соответствует ли содержимое файла заданным критериям. Если содержимое соответствует условию, используйте действие get file content для получения содержимого файла, а затем используйте другое действие, чтобы поместить содержимое этого файла в другую папку на сервере SFTP.

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

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

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

  2. В конструкторе выполните следующие общие действия, чтобы добавить нужное действие SFTP-SSH.

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

  4. После появления поля сведений о действии укажите необходимые сведения для выбранного действия. Дополнительные сведения см . в справочнике по действиям управляемого соединителя SFTP-SSH.

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

Например, действие с именем Get file content using path получает содержимое из файла на сервере SFTP, указав путь к файлу. Триггер можно использовать из предыдущего примера и условие, которое должно соответствовать содержимому файла. Если условие имеет значение true, последующее действие может получить содержимое.


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

Дополнительные сведения см. в следующей документации:

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