В NiFi, как вы отправляете двоичные файлы в HTTP Rest? - PullRequest
0 голосов
/ 11 января 2019

У меня есть следующие деловые потребности. Кто-нибудь может предложить мне NiFi WorkFlow, который я должен создать? Спасибо 1) Через Kakfa я получаю метаданные как объект JSON. Этот JSON-объект имеет изображение или видео в двоичном формате. Этот двоичный файл довольно большой. 2) Мне нужно извлечь двоичные данные и отправить их в HTTP rest (POST).

По-моему, у меня есть следующий рабочий процесс: ConsumeKakfa ==> EvaluateJsonPath ==> UpdateAttributes => InvokeHTTP

Пояснение: 1) ConsumeKakfa получит метаданные в виде объекта json. 2) EvaluateJsonPath извлечет атрибут содержимого json, в котором данные изображения или видео хранятся как base64 3) UpdateAttribute обновит файл потока для вставки полезной нагрузки POST. 4) InvokeHTTP вызовет оставшийся вызов HTTP POST.

Я не уверен, будут ли обрабатываться огромные данные с помощью InvokeHTTP.

1 Ответ

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

Ваш поток должен быть таким:

  • ConsumeKafka
  • EvaluateJsonPath (destination=content) сохраняет оцененный двоичный файл base64 в содержимое потокового файла
  • Base64EncodeContent (decode) декодирует содержимое base64 в двоичный файл
  • InvokeHTTP отправляет все содержимое в виде тела
...