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请求
将流文件中的属性都作为http头请求发送
#公众号
关注公众号 得到第一手文章/文档更新推送。
Apache NIFI InvokeHTTP相关推荐
- Apache NiFi深度扩展
介绍 该高级文档旨在深入了解NiFi的实施和设计决策.它假设读者已经阅读了足够的其他文档来了解NiFi的基础知识. FlowFiles是NiFi的核心,也是基于流程的设计.FlowFile是一种数据记 ...
- Apache Nifi 实战:多表导入实现及填坑 GitChat连接
NiFi 是美国国家安全局开发并使用了 8 年的可视化数据集成产品,2014 年 NAS 将其贡献给了 Apache 社区,2015 年成为 Apache 顶级项目. 大数据平台都需要进行数据流转,A ...
- Apache Nifi 入门与进阶 GitChat连接
NiFi 是美国国家安全局开发并使用了 8 年的可视化数据集成产品,2014 年 NAS 将其贡献给了 Apache 社区,2015 年成为 Apache 顶级项目. 大数据平台都需要进行数据流转,A ...
- Apache nifi 集群安装
原文地址:https://pierrevillard.com/2016/08/13/apache-nifi-1-0-0-cluster-setup/ 文章写的很好了,步骤性的英文写得也比较易懂,原样搬 ...
- 【Hadoop Summit Tokyo 2016】一小时之内使用Apache Nifi从零到数据流
本讲义出自San Jose在Hadoop Summit Tokyo 2016上的演讲,主要介绍了为什么在钻探行业复合数据流非常重要,以及当前Apache Nifi的发展概况和突破点,还介绍了不被期待的 ...
- 【Hadoop Summit Tokyo 2016】数据流与Apache NiFi
本讲义出自Aldrin Piri在Hadoop Summit Tokyo 2016上的演讲,主要介绍了什么是数据流以及当前数据流在研发中面临的挑战,并介绍了Apache NiFi的基本概念以及其架构设 ...
- 深入解析Apache NIFI的调度策略
简介:本文主要讲解Apache NIFI的调度策略,对象主要是针对Processor组件.本文假定读者已经对Apache NIFI有了一定的了解和使用经验,同时作者也尽可能的去讲解的更透彻,使得本文尽 ...
- Apache NIFI入门(读完即入门)
Apache NIFI入门(读完即入门) 编辑人(全网同名):酷酷的诚 邮箱:zhangchengk@foxmail.com 我将在本文中介绍: 什么是ApacheNIFI,应在什么情况下使用它,理解 ...
- Apache NiFi系统管理员指南 [ 一 ]
如何安装和启动NiFi 端口配置 NiFi 嵌入式Zookeeper 配置最佳实践 安全配置 TLS生成工具包 用户认证 轻量级目录访问协议(LDAP) Kerberos的 OpenId Connec ...
最新文章
- 如何在 Janus 中获取 WebRTC 的流
- 揭开知识库问答KB-QA的面纱2·语义解析篇
- docker 限制容器日志大小
- Linq Group By 注意点
- 下三角矩阵的逆矩阵_上三角或下三角矩阵的逆矩阵能否简便方法求出??只有主副对角线不为0的矩阵能否直接写出逆矩阵。...
- 似然(Likelihood)
- Android移动开发基础案例教程 第2章 Android UI开发
- 产品经理日常工作之流程图
- html文件怎么用影音先锋打开,先锋影音怎么用
- java冒泡排序 代码简单明了
- 生产排程系统_论生产计划排程APS系统的几大问题
- java smslib rxtx_SMSLIB+RXTX 短信猫开发模块
- win10下安装php7.2的memcache扩展
- 软件工程(C编码实践篇)学习总结
- V神最新演讲:万字长文透露以太坊20重大升级!
- DEDE自动调用轮播图/幻灯片
- 直播数据采集的10个经典方法
- ubuntu-安装Wine
- SQL 万能本地文件分析工具
- 百度编辑器 UEditor 多图上传弹窗中去掉【在线管理】和【图片搜索】Tab页