InvokeHTTP

文档中心 › 组件索引 › InvokeHTTP

InvokeHTTP Processor

类型全限定名:cn.org.acal.lynxus.processors.standard.InvokeHTTP

所属 Bundle:cn.org.acal.lynxus:lynxus-standard-nar:2.11.8

描述

可以与可配置的 HTTP 端点交互的 HTTP 客户端处理器。 目标 URL 和 HTTP 方法是可配置的。 当 HTTP 方法为 PUT、POST 或 PATCH 时,FlowFile 内容将作为请求正文包含在内,并且 FlowFile 属性会根据配置属性选择性地转换为 HTTP 标头。

标签

httphttpsrestclient

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
HTTP MethodGETHTTP 请求方法(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS)。也支持自定义方法。除 POST、PUT 和 PATCH 之外的方法将在没有消息体的情况下发送。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
HTTP URLHTTP 远程 URL,包括 http 或 https 协议,以及主机名或 IP 地址,可选端口和路径元素。URL 的任何编码必须由用户完成。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
HTTP/2 DisabledFalse
  • True
  • False
禁用 HTTP/2 协议的协商。 HTTP/2 需要 TLS。 禁用 HTTP/2 时需要支持 HTTP/1.1 协议。
SSL Context Service控制器服务 API:
SSLContextProvider
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
SSL 上下文服务为 TLS 通信提供可信证书和客户端证书。
Connection Timeout5 secs等待与 HTTP URL 的初始套接字连接的最长时间。
Socket Read Timeout15 secs等待接收从套接字连接到 HTTP URL 的响应的最长时间。
Socket Write Timeout15 secs从套接字连接向 HTTP URL 发送请求时等待写入操作的最长时间。
Socket Idle Timeout5 mins关闭与 HTTP URL 的空闲连接之前等待的最长时间。
Socket Idle Connections5HTTP URL 的最大空闲连接数。
Proxy Configuration Service控制器服务 API:
ProxyConfigurationService
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
指定代理配置 Controller Service 来代理网络请求。 对于 SOCKS,不保证处理器一定会使用所选的 SOCKS 版本。
Request OAuth2 Access Token Provider控制器服务 API:
OAuth2AccessTokenProvider
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
使用授权标头启用应用于 HTTP 请求的 OAuth2 承载令牌的托管检索。
OAuth2 Access Token Refresh StrategyON_TOKEN_EXPIRATION
  • ON_TOKEN_EXPIRATION — 令牌将根据其过期时间和配置的刷新窗口进行刷新
  • ON_UNAUTHORIZED_RESPONSE — 在遇到未授权请求(HTTP 401)时,即使当前令牌尚未过期,也会请求新令牌
指定应使用哪种策略来刷新 OAuth2 访问令牌。
Request Username用于验证 HTTP 请求的用户名。 使用 Base64 进行编码以进行 HTTP 基本身份验证,如 RFC 7617 中所述。
Request Password用于验证 HTTP 请求的密码。 使用 Base64 进行编码以进行 HTTP 基本身份验证,如 RFC 7617 中所述。
敏感属性:是
Request Digest Authentication Enabledfalse
  • true
  • false
使用用户名和密码凭据对 HTTP 请求启用摘要式身份验证,如 RFC 7616 中所述。
Request Failure Penalization Enabledfalse
  • true
  • false
当收到状态代码在 400 到 499 之间的 HTTP 响应时,启用对请求 FlowFiles 的惩罚。
Request Body Enabledtrue
  • true
  • false
启用为 PATCH、POST 或 PUT 方法发送 HTTP 请求正文。
Request Multipart Form-Data Name启用发送使用 multipart/form-data 格式化并使用配置的表单名称的 HTTP 请求正文。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Request Multipart Form-Data Filename Enabledtrue
  • true
  • false
启用将 FlowFile 文件名属性作为多部分/表单数据 HTTP 请求的 Content-Disposition 标头中的文件名参数发送。
Request Chunked Transfer-Encoding Enabledfalse
  • true
  • false
启用分块传输编码发送 HTTP 请求,即设置 Transfer-Encoding 标头为 chunked,并禁用发送 Content-Length 标头。Transfer-Encoding 适用于 RFC 7230 第 3.3.1 节中描述的 HTTP/1.1 请求正文。
Request Content-EncodingDISABLED
  • DISABLED — 传输期间不应用内容编码
  • GZIP — 传输期间应用 Gzip 内容编码和 HTTP Content-Encoding 头
HTTP Content-Encoding 在传输过程中应用于请求正文。 接收服务器必须支持所选的编码以避免请求失败。
Request Content-Type${mime.type}在发送 PATCH、POST 或 PUT 方法的 HTTP 请求体时应用的 HTTP Content-Type 头。未配置时,Content-Type 默认为 application/octet-stream。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Request Date Header EnabledTrue
  • True
  • False
启用在 HTTP 请求上发送 HTTP 日期标头,如 RFC 7231 第 7.1.1.2 节中所述。
Request Header Attributes Pattern定义哪些 FlowFile 属性作为 HTTP 标头发送到请求中的正则表达式。如果未定义,则不将任何属性作为标头发送。动态属性将始终作为标头发送。动态属性名称为标头键,动态属性值(作为 Expression Language 解释)为标头值。由于 HTTP 协议的要求,属性及其值仅限于 ASCII 字符。
Request User-Agent应用于请求的 HTTP 用户代理标头。 RFC 7231 第 5.5.3 节描述了推荐的格式。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Response Body Attribute NameFlowFile 属性名称,用于为传输到原始关系的 FlowFile 编写 HTTP 响应正文。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Response Body Attribute Size256将 HTTP 响应正文写入 FlowFile 属性时应用的最大大小(以字节为单位)。 超过最大值的属性将被截断。
Response Body Ignoredfalse
  • true
  • false
禁止将 HTTP 响应 FlowFiles 写入响应关系
Response Cache Enabledfalse
  • true
  • false
启用 RFC 7234 中描述的 HTTP 响应缓存。缓存响应考虑 ETag 和其他标头。
Response Cache Size10MBHTTP 响应缓存的最大大小(以字节为单位)。 缓存响应考虑 ETag 和其他标头。
Response Cookie StrategyDISABLED
  • DISABLED
  • ACCEPT_ALL
接受和保留 HTTP cookie 的策略。 接受 cookie 可以实现跨多个请求的持久性。
Response Generation Requiredfalse
  • true
  • false
无论收到的 HTTP 响应状态代码如何,都可以生成 FlowFile 并将其传输到响应关系。
Response FlowFile Naming StrategyRANDOM
  • RANDOM — FlowFile 的 filename 属性将是一个随机值。
  • URL_PATH — FlowFile 的 filename 属性将从远程 URL 路径中提取。该属性可能包含 URL 编码的字符。如果路径不存在,该属性将是一个随机值。
确定用于设置传输到响应关系的 FlowFiles 的文件名属性的策略。
Response Header Request Attributes Enabledfalse
  • true
  • false
允许将 HTTP 响应标头作为属性添加到传输到原始、重试或无重试关系的 FlowFiles。
响应头请求属性前缀HTTP 响应头作为属性包含到传输到 Original、Retry 或 No Retry 关系的 FlowFile 时的前缀。建议以分隔符字符如 '.' 或 '-' 结尾。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Response Redirects EnabledTrue
  • True
  • False
启用随 HTTP 300 系列响应一起发送的以下 HTTP 重定向,如 RFC 7231 第 6.4 节中所述。

动态属性

动态属性允许用户自定义属性的名称与值。

名称值描述
请求头名称属性表达式语言发送请求头,键匹配动态属性键,值通过评估动态属性值中设置的属性表达式语言创建。
post:form:<NAME>属性表达式语言当 HTTP 方法为 POST 时,属性名称格式为 post:form:<NAME> 的动态属性(其中 <NAME> 将是表单数据名称)将用于填充多部分表单部件。如果发送消息体为 false,则不会发送 flowfile,但会发送任何其他表单数据。

关系 (Relationships)

名称描述自动终止
Failure接收套接字通信错误时请求传输的FlowFile。否
No Retry收到状态代码在 400 到 499 之间的 HTTP 响应时传输的请求FlowFile。否
Original收到状态代码在 200 到 299 之间的 HTTP 响应时传输的请求FlowFile。否
Response收到状态码介于 200 和 299 之间的 HTTP 响应时传输的响应 FlowFile。 启用 [Response Generation Required] 会改变路由行为,将不成功的响应发送到其对应的关系, 并且无论收到何种状态码,都会同时将 FlowFile 发送到 Response 关系。 否
Retry收到状态代码在 500 到 599 之间的 HTTP 响应时传输的请求FlowFile。否

写入的 FlowFile 属性

名称描述
invokehttp.status.code返回的状态码
invokehttp.status.message返回的状态消息
invokehttp.response.body如果接收到的状态码不是成功(2xx),则响应体将被放入请求 FlowFile 的 'invokehttp.response.body' 属性中。
invokehttp.request.url原始请求URL
invokehttp.request.duration对外部端点的 HTTP 调用的持续时间(以毫秒为单位)
invokehttp.response.url执行任何重定向后最终请求的 URL
invokehttp.tx.id读取响应后返回的交易ID
invokehttp.remote.dn远程服务器的 DN
invokehttp.java.exception.class处理器失败时引发的 Java 异常类
invokehttp.java.exception.message处理器失败时引发的 Java 异常消息
user-defined如果设置了'将响应体放入属性'属性,则其设置值将成为属性键,而值将是 Map Cache 的响应内容

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件允许有传入连接。