Количество потоковых файлов в процессоре HandleHttpRequest - PullRequest
0 голосов
/ 05 января 2019

Мой HandleHttpRequest получает несколько файлов в запросе. Мне нужно обработать все эти файлы, а затем только мне нужно отправить ответ. Я посмотрел на его источник, чтобы расширить его, но нет простого способа, так как большинство методов являются частными.

Я прошу добавить новый атрибут (что-то вроде flowfiles.count) в файлы потока, чтобы можно было реализовать механизм ожидания / синхронизации.

Или определите метод в HttpContextMap, чтобы получить количество потоковых файлов, которое может быть предоставлено во время регистрации.

Есть ли какое-нибудь решение, которое я могу использовать сейчас?

Заранее спасибо

1 Ответ

0 голосов
/ 06 января 2019

начиная с nifi 1.8.0 функция существует.

из дополнительной информации процессора HandleHttpRequest 1.8.0 :

Для обработки запросов с Content-Type: multipart/form-data, состоящей из нескольких частей, необходимо уделить дополнительное внимание. Каждая часть генерирует собственный FlowFile. Для каждого из этих FlowFiles записаны некоторые специальные атрибуты:

  • http.context.identifier
  • http.multipart.fragments.sequence.number
  • http.multipart.fragments.total.number

Эти атрибуты можно использовать для реализации механизма стробирования для процессора HandleHttpResponse, который ожидает обработки потоковых файлов с порядковым номером http.multipart.fragments.sequence.number до тех пор, пока не будет обработано до http.multipart.fragments.total.number файлов потоков, принадлежащих одному и тому же http.context.identifier, который уникален для запроса.

...