Apache NIFI InvokeHTTP

InvokeHTTP


编辑人:酷酷的诚 邮箱:zhangchengk@foxmail.com


描述

该处理器用于执行HTTP请求。目标URL和HTTP方法是可配置的。流文件属性可以被转换为HTTP头文件,流文件内容被包含为请求的主体(前提如果使用HTTP PUT、POST或PATCH方法)。

属性配置

在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。除此之外,还可以指出属性值是否敏感,

如果是敏感数据则配置在nifi.properties 文件的 nifi.sensitive.props.key.

属性名称 默认值 可选值 描述
HTTP Method GET HTTP请求方法(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS)。除了POST、PUT和PATCH之外的方法将在没有消息体的情况下发送。
支持表达式语言:true
Remote URL 将连接到的远程URL,包括协议、IP、端口、路径。
SSL Context Service Controller Service API:
SSLContextService
Implementations:
StandardRestrictedSSLContextService
StandardSSLContextService
SSL上下文服务,为TLS/SSL (https)连接提供客户端证书信息,还用于连接到HTTPS代理。
Connection Timeout 5 secs 连接到远程服务的最大等待时间。
Read Timeout 15 secs 远程服务响应的最大等待时间。
Include Date Header True ▪True
▪False
请求中是否包含一个RFC-2616日期头。
Follow Redirects True ▪True
▪False
是否遵循远程服务器发出的HTTP重定向。
Attributes to Send 正则表达式,它定义在请求中哪些属性作为HTTP头发送。如果没有定义,则不会将属性作为HTTP头发送。此外,任何用户自定义的动态属性都将作为HTTP请求头发送。
Basic Authentication Username 客户端用于远程URL进行身份验证的用户名。不能包含控制字符(0-31)、':'或DEL(127)。
Basic Authentication Password 客户端用于远程URL进行身份验证的密码。
Sensitive Property: true
Proxy Configuration Service Controller Service API:
ProxyConfigurationService
Implementation:
StandardProxyConfigurationService
代理控制器服务。如果设置,它将取代该处理器配置的代理设置。支持的代理有:SOCKS, HTTP + AuthN
Proxy Host 代理服务器的主机名或IP地址
支持表达式语言:true
Proxy Port 代理服务器的端口
支持表达式语言:true
Proxy Type http 代理类型。必须是http或者https
支持表达式语言:true
Proxy Username 针对代理进行身份验证时的用户名
支持表达式语言:true
Proxy Password 针对代理进行身份验证时的密码
支持表达式语言:true
Sensitive Property: true
Put Response Body In Attribute 如果设置了,返回的响应体将被放入原始流文件的属性中,而不是单独的流文件。要放入的属性键由该属性的值决定。
支持表达式语言:true
Max Length To Put In Attribute 256 如果将响应体路由到原始属性(即设置了“Put response body in attribute”属性),则向属性值中放入的字符最多为这个数量。这一点很重要,因为属性保存在内存中,而较大的属性将很快导致内存不足。如果输出比这个值长,则将其截断。如果可能的话,考虑将其缩小。
Use Digest Authentication false ▪true
▪false
是否使用摘要身份验证与网站通信。“Basic Authentication Username”和“Basic Authentication Password”用于认证。
Always Output Response false ▪true
▪false
不管接收到的服务器状态代码是什么,将强制生成响应流文件并将其路由到“响应”关系中
Trusted Hostname 绕过普通的信任存储库主机名验证程序,以允许指定的远程主机名为可信主机。启用此属性具有MITM安全含义,请明智地使用。仍然接受基于普通信任库主机名验证器的其他连接。仅对SSL (HTTPS)连接有效。
Add Response Headers to Request false ▪true
▪ false
启用此属性可将所有响应标头保存到原始请求中。
Content-Type ${mime.type} 指定通过PUT、POST或PATCH传输的内容类型。在对表达式语言表达式求值后出现空值的情况下,Content-Type默认为application/octe -stream
Send Message Body true ▪ true
▪false
如果为true,则在POST/PUT/PATCH请求上发送HTTP消息体(默认)。如果为false,则为这些请求禁用消息体和内容类型头部。
Use Chunked Encoding false ▪true
▪false
传送内容时将此属性设置为true,目的是不传递content-length,而是发送'Transfer-Encoding',其值为'chunked'。这将使HTTP 1.1中引入的数据传输机制能够以块的形式传递未知长度的数据。
Penalize on "No Retry" false ▪true
▪false
启用此属性将惩罚路由到“No Retry”关系的流文件。
Use HTTP ETag false ▪true
▪false
支持HTTP请求的HTTP实体标记(ETag)。
Maximum ETag Cache Size 10MB 允许ETag缓存增长到的最大大小。默认大小为10MB。

动态属性:

该处理器允许用户指定属性的名称和值。

属性名称 属性值 描述
用户自由定义的属性名称(Header Name) 用户自由定义的属性值(Attribute Expression Language) 发送带有动态属性的键和通过计算动态属性值中的属性表达式语言集创建的值的请求头。
支持表达式语言:true(只使用变量注册表进行计算)

连接关系

名称 描述
Original 成功后将路由原始流文件(2xx状态码)。
Failure 原始流文件在任何类型的连接失败、超时或一般异常时路由到此。
Retry 原始流文件将被路由到任何可以重试的状态码(5xx状态码)上。
No Retry 原始流文件将被路由到任何不应该重试的状态代码(1xx、3xx、4xx状态代码)上。
Response 响应流文件将在成功时路由(2xx状态码)。如果“Output Response Regardless”属性为true,则无论接收到什么状态代码,响应都将发送到该关系。

读取属性

没有指定。

写属性

Name Description
invokehttp.status.code 返回的状态代码
invokehttp.status.message 返回的状态消息
invokehttp.response.body 在接收到的状态代码不成功的实例中(2xx),则响应主体将放在“invokehttp.response”中。请求流文件的主体属性。
invokehttp.request.url 请求URL
invokehttp.tx.id 读取响应后返回的事务ID
invokehttp.remote.dn 当处理器故障转移到远程服务器时,将引发Java异常类的DN
invokehttp.java.exception.class 当处理器失败时引发Java异常类
invokehttp.java.exception.message 当处理器失败时,会引发Java异常消息
user-defined 如果设置了'Put Response Body In Attribute'属性,那么无论它被设置为什么,都将成为属性键,其值将是HTTP响应的主体。

状态管理

此组件不存储状态。

限制

此组件不受限制。

输入要求

此组件允许传入连接关系。

系统资源方面的考虑

没有指定。

应用场景

该处理器比较强大,可以嵌入到实际业务场景中,针对某一个业务数据处理服务,该处理器可以去获取数据或者发送数据。

示例说明

1:列举最常见的post请求

image

将流文件中的属性都作为http头请求发送

image
image
image
image

公众号

关注公众号 得到第一手文章/文档更新推送。

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351