NiFi - Как отправить запрос GET с JSON через процессор InvokeHTTP? - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужно отправить следующий запрос GET с JSON на https://www.example.com/api/

GET /path/to/data
{
 "abcd": [
   "a1",
   "a2"
   ]
}

Который закодирован в URL таким образом: https://www.example.com/api/path/to/data?json=%8B%0B%+.....

Я пытался выполнить этот запрос через два потока NiFi:

  1. GenerateFlowFile -> ReplaceText -> UpdateAttribute -> InvokeHTTP -> PutFile

  2. GenerateFlowFile -> UpdateAtribute -> AttributeToJSON -> InvokeHTTP -> PutFile

Однако мне не удается отправить JSON с запросом. Не могли бы вы дать мне подсказку о том, как настроить эти процессоры или предложить другой поток NiFi? (Мне также нужно использовать обычную аутентификацию, поэтому я использую процессор InvokeHTTP)

Заранее благодарю за любые ответы.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Ну, ты не можешь. Так как запрос GET с телом не популярен, и многие избегают этого (по глупым причинам) - GET с телом не поддерживается многими платформами (среди них NiFi.)

Так что ни GetHTTP (что никоим образом не помогло бы вам, поскольку оно не принимает входящие отношения), ни InvokeHTTP не помогли бы вам. Возможно, вы сможете сделать это, используя ExecuteScript, разрабатывая что-то свое.

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

Для этого вам нужно использовать процессор GetHTTP

...