Создайте пользовательский код для обхода пропущенного действия переименования в соединителе FTP Azure Logic App - PullRequest
0 голосов
/ 24 мая 2018

Мы преобразуем существующее консольное приложение C # в решение Azure.Довольно простая потребность:

  1. Хранить файлы в виде BLOB-объектов, которые должны быть FTP-клиентом.
  2. Вставлять сообщения в раздел служебной шины в формате JSON для имени файла и т. Д.
  3. Попросите приложение логики подписаться на тему и FTP-файл.

Сервер ftp - это наши клиенты, и я не могу изменить его настройки.

Он начинает обработкуфайлы, как только они помещаются туда и соответствуют определенному стилю именования.

В прошлом все, что я делал, это помещал temp_ в начало файла, затем создавал его, а затем переименовывал.

Отлично.

У нас уже есть эта работа с использованием стандартного кода .Net, но сейчас я пытаюсь заставить его работать с помощью приложения Azure Logic, как описано выше.

Использование 'CreateФайл »под разъемом FTP.Если я создаю его, используя правильное имя, произойдет сбой, так как FTP-сервер захватывает файл до того, как Azure завершит его создание.

В соединителе FTP нет функции переименования - может кто-нибудь , пожалуйста, скажите мне, что я что-то упустил ??

Джо

ОБНОВЛЕНИЕ 5-24-18 Из службы технической поддержки Microsoft:

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

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

Для получения дополнительной информации о вызове функций Azure из приложений логики см. Следующую ссылку:

https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-functions

IЯ попытаюсь сделать это, и если я смогу заставить его работать, опубликуйте это как ответ.

Если кто-то захочет помочь мне, это было бы здорово!

Большой вопрос, который, я думаю, здесь звучит так: « почему »?

Зачем все это проходить?Почему бы просто не использовать функцию C # с самого начала?Частично ответ состоит лишь в том, чтобы иметь опыт использования служебной шины / разделов и т. Д. Плюс, если они когда-либо обновят свой FTP-разъем, это будет легко исправить.Но я все еще открыт для других ответов или вариантов.

Кстати - пожалуйста, проголосуйте за это изменение здесь, если считаете, что это будет полезно:

https://feedback.azure.com/forums/287593-logic-apps/suggestions/19499953-add-rename-action-to-sftp-ftp-storage-etc-connect

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