У меня есть около 2000 потоковых файлов из вызовов REST API в формате json. Один файл выглядит так:
[ {
"manager_customer_id" : 637,
"resourceName" : "customers/673/customerClients/3158981",
"clientCustomer" : "customers/3158981",
"hidden" : false,
"level" : "2",
"manager" : false,
"descriptiveName" : "Volvo",
"id" : "3158981"
} ]
Теперь я хочу отфильтровать их по параметру manager
. Если manager
верно, я должен пропустить этот файл потока. Поэтому мне нужно работать с потоковыми файлами, где manager
ложно. Как это сделать с помощью Apache Nifi?
Вы можете преобразовать свой потоковый файл в запись с помощью ConvertRecord. Это позволяет перейти в формат Json к тому, что вы предпочитаете, вы все равно можете сохранить формат Json.
Но теперь, когда ваш потоковый файл является записью, вы можете использовать дополнительные процессоры, такие как: QueryRecord, чтобы вы могли запускать SQL-подобную команду в файле потока:
"SELECT * FROM FLOWFILE WHERE manager=true"
Я рекомендую вам следующие чтения:
Вы можете просто использовать EvaluateJSONPath
(для сохранения значения менеджера в атрибуте) и Route on attribute
(для фильтрации на основе этого атрибута), направить поток из Manager=true
на автоматическое завершение и продолжить с остальными до успеха.
Отвечает ли это на ваш вопрос? Как маршрутизировать запись\событие на основе контента