Apache NiFi 2.x 处理器:HandleHttpRequest 2.3.0

Apache NiFi 2.x 处理器:HandleHttpRequest 2.3.0

精选文章moguli202025-03-19 15:01:538A+A-

org.apache.nifi | nifi-standard-nar

描述

启动一个HTTP服务器并监听HTTP请求。对于每个请求,它会创建一个FlowFile并传输到“success”。此处理器旨在与HandleHttpResponse处理器结合使用,以创建一个Web服务。如果是多部分请求,则会为每个部分生成一个FlowFile。

标签

http、https、ingress、listen、request、web service

输入要求

禁止

支持敏感动态属性

HandleHttpRequest 2.3.0的更多详细信息

使用说明

将此处理器与HandleHttpResponse处理器配对使用,能够利用NiFi以可视化方式构建一个Web服务器,该服务器可以执行现有处理器所具备的任何功能。例如,可以通过构建如下流程,为SFTP服务器构建一个基于Web的前端:
HandleHttpRequest -> PutSFTP -> HandleHttpResponse
HandleHttpRequest处理器提供了多个属性,用于配置支持的方法、支持的路径以及SSL配置。
在处理包含多个部分且Content-Type为multipart/form-data的请求时,需要格外注意。每个部分都会生成自己的FlowFile。会为这些FlowFile写入一些特殊属性:

  • http.context.identifier
  • http.multipart.fragments.sequence.number
  • http.multipart.fragments.total.number
    这些属性可用于为HandleHttpResponse处理器实现一种门控机制,即等待处理序列号为http.multipart.fragments.sequence.number的FlowFile,直到处理完属于同一http.context.identifier(该标识符对于每个请求是唯一的)的最多http.multipart.fragments.total.number个FlowFile。

属性

额外HTTP方法

以逗号分隔的非标准HTTP方法列表,这些方法应被允许。

显示名称

额外HTTP方法

描述

以逗号分隔的非标准HTTP方法列表,这些方法应被允许

API名称

额外HTTP方法

表达式语言作用域

不支持

是否敏感

是否必需

允许DELETE

允许HTTP DELETE方法。

显示名称

允许DELETE

描述

允许HTTP DELETE方法

API名称

允许DELETE

默认值

true

允许值

true
false

表达式语言作用域

不支持

是否敏感

是否必需

允许GET

允许HTTP GET方法。

显示名称

允许GET

描述

允许HTTP GET方法

API名称

允许GET

默认值

true

允许值

true
false

表达式语言作用域

不支持

是否敏感

是否必需

允许HEAD

允许HTTP HEAD方法。

显示名称

允许HEAD

描述

允许HTTP HEAD方法

API名称

允许HEAD

默认值

false

允许值

true
false

表达式语言作用域

不支持

是否敏感

是否必需

允许OPTIONS

允许HTTP OPTIONS方法。

显示名称

允许OPTIONS

描述

允许HTTP OPTIONS方法

API名称

允许OPTIONS

默认值

false

允许值

true
false

表达式语言作用域

不支持

是否敏感

是否必需

允许POST

允许HTTP POST方法。

显示名称

允许POST

描述

允许HTTP POST方法

API名称

允许POST

默认值

true

允许值

true
false

表达式语言作用域

不支持

是否敏感

是否必需

允许PUT

允许HTTP PUT方法。

显示名称

允许PUT

描述

允许HTTP PUT方法

API名称

允许PUT

默认值

true

允许值

true
false

表达式语言作用域

不支持

是否敏感

是否必需

允许路径

一个正则表达式,用于指定传入URL请求中允许的有效HTTP路径。如果指定了该值,而HTTP请求的路径与该正则表达式不匹配,处理器将返回404:NotFound。

显示名称

允许路径

描述

一个正则表达式,用于指定传入URL请求中允许的有效HTTP路径。如果指定了该值,而HTTP请求的路径与该正则表达式不匹配,处理器将返回404:NotFound

API名称

允许路径

表达式语言作用域

不支持

是否敏感

是否必需

客户端认证

指定处理器是否应对客户端进行认证。如果未指定属性,或者提供的SSL上下文仅使用密钥库而不使用信任库,则此值将被忽略。

显示名称

客户端认证

描述

指定处理器是否应对客户端进行认证。如果未指定属性,或者提供的SSL上下文仅使用密钥库而不使用信任库,则此值将被忽略

API名称

客户端认证

默认值

无认证

允许值

无认证
需要认证
想要认证

表达式语言作用域

不支持

是否敏感

是否必需

容器队列大小

HTTP请求容器的队列大小。

显示名称

容器队列大小

描述

HTTP请求容器的队列大小

API名称

container-queue-size

默认值

50

表达式语言作用域

不支持

是否敏感

是否必需

默认URL字符集

如果HTTP请求未提供字符集,则用于解码URL参数的字符集。

显示名称

默认URL字符集

描述

如果HTTP请求未提供字符集,则用于解码URL参数的字符集

API名称

默认URL字符集

默认值

UTF8

表达式语言作用域

不支持

是否敏感

是否必需

主机名

要绑定的主机名。如果未指定,将绑定到所有主机。

显示名称

主机名

描述

要绑定的主机名。如果未指定,将绑定到所有主机

API名称

主机名

表达式语言作用域

不支持

是否敏感

是否必需

HTTP上下文映射

用于缓存HTTP请求信息的HTTP上下文映射控制器服务。

显示名称

HTTP上下文映射

描述

用于缓存HTTP请求信息的HTTP上下文映射控制器服务

API名称

HTTP上下文映射

服务接口

org.apache.nifi.http.HttpContextMapService

服务实现

org.apache.nifi.http.StandardHttpContextMap

表达式语言作用域

不支持

是否敏感

是否必需

HTTP协议

支持用于TLS应用层协议协商的HTTP协议。

显示名称

HTTP协议

描述

支持用于TLS应用层协议协商的HTTP协议

API名称

HTTP协议

默认值

HTTP_1_1

允许值

http/1.1
h2 http/1.1
h2

表达式语言作用域

不支持

是否敏感

是否必需

依赖项

SSL Context Service设置为任何指定值

监听端口

监听传入HTTP请求的端口。

显示名称

监听端口

描述

监听传入HTTP请求的端口

API名称

监听端口

默认值

80

表达式语言作用域

JVM级别定义的环境变量和系统属性

是否敏感

是否必需

最大线程数

嵌入式HTTP服务器用于处理请求的最大线程数。

显示名称

最大线程数

描述

嵌入式HTTP服务器用于处理请求的最大线程数

API名称

最大线程数

默认值

200

表达式语言作用域

不支持

是否敏感

是否必需

多部分读取缓冲区大小

传入文件内容写入磁盘的阈值大小。仅适用于Content-Type为multipart/form-data的请求。用于防止拒绝服务类型的攻击,避免堆空间或磁盘空间被填满。

显示名称

多部分读取缓冲区大小

描述

传入文件内容写入磁盘的阈值大小。仅适用于Content-Type为multipart/form-data的请求。用于防止拒绝服务类型的攻击,避免堆空间或磁盘空间被填满

API名称

multipartread-buffer-size

默认值

512 KB

表达式语言作用域

不支持

是否敏感

是否必需

多部分请求最大大小

请求的最大大小。仅适用于Content-Type为multipart/form-data的请求,用于防止拒绝服务类型的攻击,避免堆空间或磁盘空间被填满。

显示名称

多部分请求最大大小

描述

请求的最大大小。仅适用于Content-Type为multipart/form-data的请求,用于防止拒绝服务类型的攻击,避免堆空间或磁盘空间被填满

API名称

multipart-request-maxsize

默认值

1 MB

表达式语言作用域

不支持

是否敏感

是否必需

参数转属性列表

以逗号分隔的HTTP参数或表单数据列表,这些数据将作为属性输出。

显示名称

参数转属性列表

描述

以逗号分隔的HTTP参数或表单数据列表,这些数据将作为属性输出

API名称

parameters-to-attributes

表达式语言作用域

不支持

是否敏感

是否必需

请求头最大大小

发送到此处理器的请求中支持的HTTP头的最大大小。

显示名称

请求头最大大小

描述

发送到此处理器的请求中支持的HTTP头的最大大小

API名称

请求头最大大小

默认值

8 KB

表达式语言作用域

不支持

是否敏感

是否必需

SSL上下文服务

用于保护服务器安全的SSL上下文服务。如果指定了该服务,服务器将仅接受HTTPS请求;否则,服务器将仅接受HTTP请求。

显示名称

SSL上下文服务

描述

用于保护服务器安全的SSL上下文服务。如果指定了该服务,服务器将仅接受HTTPS请求;否则,服务器将仅接受HTTP请求

API名称

SSL上下文服务

服务接口

org.apache.nifi.ssl.RestrictedSSLContextService

服务实现

org.apache.nifi.ssl.StandardRestrictedSSLContextService

表达式语言作用域

不支持

是否敏感

是否必需

关系

名称

描述

success

接收到的所有内容都将路由到“success”关系

写入属性

名称

描述

http.context.identifier

一个标识符,用于让HandleHttpRequest和HandleHttpResponse协调哪个FlowFile属于哪个HTTP请求/响应。

mime.type

根据HTTP头“Content-Type”确定的数据的MIME类型

http.servlet.path

请求URL中被视为Servlet路径的部分

http.context.path

请求URL中被视为上下文路径的部分

http.method

用于请求的HTTP方法,如GET或POST

http.local.name

服务器的IP地址/主机名

http.server.port

服务器的监听端口

http.query.string

请求URL的查询字符串部分

http.remote.host

请求者的主机名

http.remote.addr

请求者的主机名:端口组合

http.remote.user

请求者的用户名

http.protocol

用于通信的协议

http.request.uri

完整的请求URL

http.principal.name

发出请求的已认证用户的名称

http.query.param.XXX

请求中的每个查询参数都将作为一个属性添加,前缀为“http.query.param.”

http.param.XXX

请求中由“参数转属性列表”配置的表单参数将作为一个属性添加,前缀为“http.param.”。不建议添加大尺寸的表单参数。

http.subject.dn

请求者的专有名称。除非处理器配置为使用SSLContext服务,否则该值不会被填充。

http.issuer.dn

颁发主体证书的实体的专有名称。除非处理器配置为使用SSLContext服务,否则该值不会被填充。

http.certificate.sans.N.name

来自相互TLS认证的X.509客户端证书主题备用名称值。属性名称有一个基于零的索引,根据客户端证书的内容排序。

http.certificate.sans.N.nameType

来自相互TLS认证的X.509客户端证书主题备用名称类型。属性名称有一个基于零的索引,根据客户端证书的内容排序。属性值是RFC 3280第4.1.2.7节中的通用名称之一。

http.headers.XXX

请求中收到的每个HTTP头都将作为一个属性添加,前缀为“http.headers.”。例如,如果请求包含一个名为“x-my-header”的HTTP头,则该值将被添加到一个名为“http.headers.x-my-header”的属性中。

http.headers.multipart.XXX

多部分请求中收到的每个HTTP头都将作为一个属性添加,前缀为“http.headers.multipart.”。例如,如果多部分请求包含一个名为“content-disposition”的HTTP头,则该值将被添加到一个名为“
http.headers.multipart.content-disposition”的属性中。

http.multipart.size

对于Content-Type为“multipart/form-data”的请求,该部分的内容大小将记录在此属性中

http.multipart.content.type

对于Content-Type为“multipart/form-data”的请求,该部分的内容类型将记录在此属性中

http.multipart.name

对于Content-Type为“multipart/form-data”的请求,该部分的名称将记录在此属性中

http.multipart.filename

对于Content-Type为“multipart/form-data”的请求,当该部分包含上传文件时,文件的名称将记录在此属性中。文件将临时存储在“java.io.File”Java文档中指定的默认临时文件目录中

http.multipart.fragments.sequence.number

对于Content-Type为“multipart/form-data”的请求,该部分的索引将记录在此属性中。索引从1开始。

http.multipart.fragments.total.number

对于Content-Type为“multipart/form-data”的请求,所有部分的数量将记录在此属性中。

另请参阅

org.apache.nifi.processors.standard.HandleHttpResponse

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2