Установить свойства для InvokeHTTP Nifi - PullRequest
0 голосов
/ 30 октября 2019

Я бы хотел установить некоторые свойства перед моим InvokeHTTP процессором в NiFi. На самом деле, я пытаюсь использовать API, и я хотел бы дать HTTP-заголовки с ключевым API.

Я могу установить все свойства с большим количеством UpdadeAttribute, но есть две проблемы:

  • Я не могу начать свою работу на UpdadeAttribute
  • Все мои свойства должны быть установлены один раз, не более

Эти свойства находятся в сборке из двух ключей.

Сначала я объединяю два ключа в merged_keys

${api_key}:${api_secret_key}

Во-вторых, я кодирую merged_keys в encoded64_key.

${merged_key:base64Encode()}

Затем я пишу свой HTTP-заголовок Authorization, используя encoded64_key

'Authorization': 'Basic ${encoded64_key}'

edit: Я пытался установить эту конфигурацию в UpdateAttribute, но я знаю, что это не очень хороший способ, поэтому я попытался установить ее непосредственно в моем InvokeHTTP, и ничего не произошло.

Часть построения HTTP-заголовка работает отлично, но я не знаю, как я могу сделать так, чтобы этот заголовок был InvokeHTTP один раз.

1 Ответ

2 голосов
/ 30 октября 2019

Установите свойство на процессоре InvokeHTTP с именем Authorization и значением Based ${encoded64_key}. Это способ прикрепить заголовок. См. documentatinos .

Клиентский процессор HTTP, который может взаимодействовать с настраиваемой конечной точкой HTTP. Целевой URL и метод HTTP настраиваются. Атрибуты FlowFile преобразуются в заголовки HTTP , а содержимое FlowFile включается как тело запроса (если HTTP-метод - PUT, POST или PATCH).

FYI ссодержимое, вы должны передать содержимое в виде потокового файла, используя процессор replaceText.

...