У меня нет проблем с отправкой запросов типа NIFI. В статьях, которые я видел, я использовал компонент «invokeHTTP» с конфигурацией «post» внутри него. Мне нужно отправить JSON на фиксированный адрес, а invokeHTTP не работает. Вы можете сделать то же самое с POSTMAN, и это работает, однако в NIFI я не могу.
Я поместил тело запроса в поле «Поместить тело ответа в атрибут».
Дизайн можно сделать с помощью CORS не беспокоить (проект и NIFI находятся в локальной сети, на портах 8081 и 8088 соответственно).
Я хотел бы знать, есть ли у кого-нибудь намеки на то, почему мой проект не получает запрос NIFI, а получает от POSTMAN. Может я что-то не так устанавливаю...
Извините, я отредактировал вопрос
Я думаю, что проблема в теле запроса. Похоже, вы помещаете тело запроса в атрибут, указанный в свойстве Поместите тело ответа в атрибут.
Для InvokeHTTP
потоковый файл содержание включается в тело запроса.
Поместите JSON, который вы хотите отправить через HTTP POST, в содержимое потокового файла до того, как потоковый файл достигнет вашего процессора InvokeHTTP
.
Свойство Поместите тело ответа в атрибут указывает, что тело ответа HTTP должно быть записано в именованный атрибут потокового файла как часть входного потокового файла (а не поведение по умолчанию, которое заключается в создании нового выходного потокового файла с содержимым HTTP-ответа).
Спасибо, но я сделал по другому. Я получил обработчик GenerateFlowFile и поместил туда JSON. Затем я подключил его к текстовому процессору Extract и вызвал InvokeHTTP. Это сработало.
Рад, что это работает для вас! Я подозреваю, что это будет работать без шага ExtractText. ExtractText скопирует все содержимое потокового файла или его часть (в зависимости от используемого регулярного выражения) в атрибут, но JSON все еще находится в содержимом потокового файла, вы только что скопировали его. InvokeHTTP использует JSON из содержимого файла потока. Поэтому, если вы сделали GenerateFlowFile >> InvokeHTTP, это также должно работать.
Не могли бы вы опубликовать свой вопрос на английском языке?