首页 文章

从NIFI调用extern REST服务

提问于
浏览
0

我需要配置一个NIFI流,调用在远程服务器上构建的jenkins . curl命令可以在我的nifi主机的cmd行中正常工作

curl "http://sktpprdjci01.ccta.dk/jenkins/job/prod-jobs-batch/job/testModel02_batch/buildWithParameters?token=8eabad81fd14bb3f0e8a&model_args=20170829"

我试图配置NIFI InvokeHTTP处理器,以便在具有以下设置的nifi流中进行调用 .

RemoteURL:http://myuser:mypassword@sktpprdjci01.ccta.dk/jenkins/job/prod-jobs-batch/job/testModel02_batch/buildWithParameters?token=8eabad81fd14bb3f0e8a&model_args=20170829
Attributes To Send: Content-Type=application/xml ( have tried with json )
Basic Authentication Username: myuser
Basic Authentication Password: mypassword

但它一直在无重试队列中运行 . 我如何根据curl命令配置我的InvokeHTTP工作正常 .

curl突击队员的详细输出

[w20960@sktudv01hdf01 test]$ curl --verbose"http://w19612adm:notrealpassword@sktpprdjci01.ccta.dk/jenkins/job/prod-jobs-batch/job/testModel02_batch/buildWithParameters?token=8eabad81fd14bb3f0e8a&model_args=20170829"
* About to connect() to sktpprdjci01.ccta.dk port 80 (#0)
*   Trying 172.20.242.59...
* Connected to sktpprdjci01.ccta.dk (172.20.242.59) port 80 (#0)
* Server auth using Basic with user 'w19612adm'
> GET /jenkins/job/prod-jobs-batch/job/testModel02_batch/buildWithParameters?token=8eabad81fd14bb3f0e8a&model_args=20170829 HTTP/1.1
> Authorization: Basic dzE5NjEyYWRtOjYyZGUzZjEwODY3ZTgzOTNkOGRmNDdiMTJmY2Y4ODk3
> User-Agent: curl/7.29.0
> Host: sktpprdjci01.ccta.dk
> Accept: */*
>
< HTTP/1.1 201 Created
< Server: nginx/1.10.2
< Date: Thu, 31 Aug 2017 09:39:13 GMT
< Content-Length: 0
< Connection: keep-alive
< X-Content-Type-Options: nosniff
< Location: http://sktpprdjci01.ccta.dk/jenkins/queue/item/2601/
<
* Connection #0 to host sktpprdjci01.ccta.dk left intact
[w20960@sktudv01hdf01 test]$

No Retry关系中的流文件属性

model_args    20170829
invokehttp.tx.id   f1f3074e-007c-40e4-8e1d-4ef7c4ea7f62
file.group    nifi
file.lastModifiedTime 2017-08-29T13:58:12+0200
invokehttp.status.code 407
invokehttp.response.body
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content- Type" content="text/html; charset=UTF-8"> <title>Notification: Proxy   Authorization Required</title> <style type="
file.permissions rwxrwxrwx
uuid e6d95b8d-5385-4463-98cf-2982734d1bc4
token 8eabad81fd14bb3f0e8a
 absolute.pat /opt/nifi/ekapital/ek_abt/
invokehttp.request.url http://ktpprdjci01.ccta.dk/jenkins/job/prod-jobs-batch/job/testModel02_batch/buildWithParameters?token=8eabad81fd14bb3f0e8a&model_args=20170829
path /
filename ek_abt.hql
file.creationTime 2017-08-29T13:58:12+0200
file.lastAccessTime 2017-08-30T14:03:15+0200
file.owner nifi
invokehttp.status.message Proxy Authentication Required
OK

1 回答

  • 0

    所以你有回应:

    invokehttp.status.code    : 407
    invokehttp.status.message : Proxy Authentication Required
    

    似乎你正在通过需要身份验证的代理

    重复_1519559中的问题_尝试使用 --noproxy 参数或取消设置代理配置 .

    然后尝试了解您必须传递哪些参数/ Headers 才能访问您的网址 .

    PS:对我来说很好:

    enter image description here

    url: http://localhost:8081/job/test01/buildWithParameters?token=12345&P1=aaabbbccc
    

    别忘了在jenkins job Trigger builds remotely 复选框中选择

相关问题