Подключение к файловым серверу 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 можно также использовать следующие средства для создания и редактирования рабочих процессов приложения логики:
Рабочие процессы приложения логики потребления: Visual Studio или Visual Studio Code
Стандартные рабочие процессы приложения логики: Visual Studio Code
Технический справочник по соединителю
Соединитель SFTP имеет разные версии, основанные на типе приложения логики и среде узла.
Тип приложения логики (план) | Среда | Версия соединителя |
---|---|---|
Потребление | Мультитенантные Azure Logic Apps | Управляемый соединитель, который отображается в конструкторе под меткой "Стандартный". Дополнительные сведения см. в следующей документации: - Справочник по управляемому соединителю SFTP-SSH - Управляемые соединители в Azure Logic Apps |
Потребление | Среда службы интеграции (ISE) | Управляемый соединитель, который отображается в конструкторе под меткой "Стандартный " и версией ISE, которая отображается в конструкторе с меткой ISE и имеет ограничения сообщений, отличные от управляемого соединителя. Дополнительные сведения см. в следующей документации: - Справочник по управляемому соединителю SFTP-SSH - Ограничения для сообщений ISE - Управляемые соединители в Azure Logic Apps |
Стандартные | Azure Logic Apps с одним клиентом и Среда службы приложений версии 3 (только планы Windows) | Управляемый соединитель, который отображается в коллекции соединителей в разделе "Общая среда выполнения" и встроенный соединитель, который отображается в коллекции соединителей в разделе "Среда выполнения>>в приложении" и является поставщиком услуг. Встроенный соединитель может напрямую подключиться к серверу SFTP и получить доступ к виртуальным сетям Azure с помощью строка подключения без локального шлюза данных. Дополнительные сведения см. в следующей документации: - Справочник по управляемому соединителю SFTP-SSH - Справочник по встроенному соединителю SFTP - Управляемые соединители в Azure Logic Apps - Встроенные соединители в Azure Logic Apps |
Общие ограничения
Прежде чем использовать управляемый соединитель SFTP-SSH, ознакомьтесь со ссылкой на управляемый соединитель SFTP-SSH — известные проблемы и ограничения.
Прежде чем использовать встроенный соединитель SFTP, ознакомьтесь со ссылкой на встроенный соединитель SFTP — известные проблемы и ограничения.
Известные проблемы
По умолчанию триггеры, возвращающие массив, имеют параметр Split On , который уже включен. Если этот параметр включен, триггер автоматически расшифровывает массив, создавая отдельный экземпляр рабочего процесса для обработки каждого элемента массива. Все экземпляры рабочих процессов выполняются параллельно, чтобы элементы массива обрабатывались одновременно.
Однако при включении параметра Split On управляемый соединитель возвращает выходные данные для всех элементов массива в виде списков. Любые последующие действия, ссылающиеся на эти выходные данные, должны сначала обрабатывать эти выходные данные в виде списков. Чтобы обрабатывать каждый элемент массива по отдельности, можно добавить дополнительные действия. Например, для итерации этих элементов массива можно использовать цикл "Для каждого цикла". Для триггеров, возвращающих только метаданные или свойства, используйте действие, которое сначала получает метаданные элемента массива, а затем используйте действие для получения содержимого элементов.
Этот подход необходимо применять только для триггеров управляемых соединителей, а не встроенных триггеров соединителя, возвращающих выходные данные для одного элемента массива в то время, когда параметр Split On включен.
Например, предположим, что у вас есть триггер управляемого соединителя с именем "При добавлении или изменении файла" (только свойств), который возвращает метаданные или свойства для новых или обновленных файлов в виде массивов. Чтобы получить метаданные отдельно для каждого файла, можно использовать цикл Для каждого цикла, который выполняет итерацию по массиву. В этом цикле используйте следующие действия управляемого соединителя в указанном порядке:
Получение метаданных файла для получения метаданных каждого файла.
Получите действие содержимого файла, чтобы получить содержимое каждого файла.
Разделение на блоки
Дополнительные сведения о том, как управляемый соединитель SFTP-SSH может обрабатывать большие файлы, превышающие ограничения размера по умолчанию, см . в справочнике по управляемому соединителю SFTP-SSH — блокирование.
Необходимые компоненты
Учетная запись и подписка Azure. Если у вас еще нет подписки Azure, зарегистрируйтесь для получения бесплатной учетной записи Azure.
Сведения о подключении и проверке подлинности для доступа к серверу SFTP, таким как адрес сервера, учетные данные учетной записи, доступ к закрытому ключу SSH и пароль закрытого ключа SSH. Дополнительные сведения см . в справочнике по управляемому соединителю SFTP-SSH — проверка подлинности и разрешения.
Внимание
При создании подключения и вводе закрытого ключа SSH в свойстве закрытого ключа SSH выполните действия, чтобы предоставить полное и правильное значение этого свойства. В противном случае недопустимый ключ приводит к сбою подключения.
Рабочий процесс приложения логики, из которого необходимо получить доступ к учетной записи SFTP. Чтобы начать с триггера SFTP-SSH, необходимо начать с пустого рабочего процесса. Чтобы использовать действие SFTP-SSH, запустите рабочий процесс с другим триггером, например триггером повторения .
Добавление триггера SFTP
В портал Azure откройте приложение логики потребления с пустым рабочим процессом в конструкторе.
В конструкторе выполните следующие общие действия, чтобы добавить нужный триггер SFTP-SSH.
При появлении запроса укажите необходимые сведения о подключении. По завершении нажмите Создать.
После появления поля сведений о триггере укажите необходимые сведения для выбранного триггера. Дополнительные сведения см . в справочнике по триггерам управляемого соединителя SFTP-SSH.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
При сохранении рабочего процесса этот шаг автоматически публикует обновления в развернутом приложении логики, которое находится в Azure. При использовании только триггера рабочий процесс просто проверяет FTP-сервер на основе указанного расписания. Необходимо добавить действие, которое отвечает на триггер и выполняет что-то с выходными данными триггера.
Например, триггер с именем "При добавлении или изменении файла" запускает рабочий процесс при добавлении или изменении файла на сервере SFTP. В качестве последующего действия можно добавить условие, которое проверяет, соответствует ли содержимое файла заданным критериям. Если содержимое соответствует условию, используйте действие get file content для получения содержимого файла, а затем используйте другое действие, чтобы поместить содержимое этого файла в другую папку на сервере SFTP.
Добавление действия SFTP
Прежде чем использовать действие SFTP, рабочий процесс должен начинаться с триггера, который может быть любым выбранным типом. Например, можно использовать универсальный триггер повторения для запуска рабочего процесса по конкретному расписанию.
В портал Azure откройте приложение логики потребления с рабочим процессом в конструкторе.
В конструкторе выполните следующие общие действия, чтобы добавить нужное действие SFTP-SSH.
При появлении запроса укажите необходимые сведения о подключении. По завершении нажмите Создать.
После появления поля сведений о действии укажите необходимые сведения для выбранного действия. Дополнительные сведения см . в справочнике по действиям управляемого соединителя SFTP-SSH.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Например, действие с именем Get file content using path получает содержимое из файла на сервере SFTP, указав путь к файлу. Триггер можно использовать из предыдущего примера и условие, которое должно соответствовать содержимому файла. Если условие имеет значение true, последующее действие может получить содержимое.
Устранение неполадок
Дополнительные сведения см. в следующей документации:
- Справочник по управляемому соединителю SFTP-SSH — устранение неполадок
- Справочник по встроенному соединителю SFTP — устранение неполадок