Мы преобразуем существующее консольное приложение C # в решение Azure.Довольно простая потребность:
- Хранить файлы в виде BLOB-объектов, которые должны быть FTP-клиентом.
- Вставлять сообщения в раздел служебной шины в формате JSON для имени файла и т. Д.
- Попросите приложение логики подписаться на тему и 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