NiFi: маршрутизация по типам файлов, например csv, tsv, xlsx - PullRequest
0 голосов
/ 05 декабря 2018

У меня подключен SFTP-сервер, и я пытаюсь маршрутизировать файлы в зависимости от типа: .csv, .tsv и .xlsx.Сейчас я просто загружаю тестовые файлы через командную строку.

Мой поток:

GetSFTP (with correct hostname, etc.) ->
RouteOnAttribute ->
LogAttribute (will dump elsewhere soon, this is just for testing)

Мне кажется, моя проблема в том, что я создал свойство в RouteOnAttributeнеправильно:

image${filename:contains('.csv')}">

Правильно ли я полагаю, что это на самом деле не относится к .csv, поскольку это технически не является частью имени файла?Какое выражение будет правильным для маршрутизации по типу файла?Спасибо!

1 Ответ

0 голосов
/ 05 декабря 2018

Вам нужна информация, которая сообщит вам тип файла.

GetSFTP должен получать имя файла из файла на сервере sftp, поэтому, если они имеют соответствующие расширения, я бы ожидал, что ваш RouteOnAttribute будет работать правильно.

Если имя файла не имеетподходящего расширения, тогда единственное, что вы можете сделать, это попытаться использовать IdentifyMimeType, чтобы определить, к какому типу файла это относится, и затем направить атрибут mime.type.

...