InvokeHTTP Processor
描述
可以与可配置的 HTTP 端点交互的 HTTP 客户端处理器。 目标 URL 和 HTTP 方法是可配置的。 当 HTTP 方法为 PUT、POST 或 PATCH 时,FlowFile 内容将作为请求正文包含在内,并且 FlowFile 属性会根据配置属性选择性地转换为 HTTP 标头。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| HTTP Method | GET | HTTP 请求方法(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS)。也支持自定义方法。除 POST、PUT 和 PATCH 之外的方法将在没有消息体的情况下发送。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| HTTP URL | | HTTP 远程 URL,包括 http 或 https 协议,以及主机名或 IP 地址,可选端口和路径元素。URL 的任何编码必须由用户完成。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| HTTP/2 Disabled | False |
| 禁用 HTTP/2 协议的协商。 HTTP/2 需要 TLS。 禁用 HTTP/2 时需要支持 HTTP/1.1 协议。 |
| SSL Context Service | | 控制器服务 API:SSLContextProvidercn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | SSL 上下文服务为 TLS 通信提供可信证书和客户端证书。 |
| Connection Timeout | 5 secs | 等待与 HTTP URL 的初始套接字连接的最长时间。 | |
| Socket Read Timeout | 15 secs | 等待接收从套接字连接到 HTTP URL 的响应的最长时间。 | |
| Socket Write Timeout | 15 secs | 从套接字连接向 HTTP URL 发送请求时等待写入操作的最长时间。 | |
| Socket Idle Timeout | 5 mins | 关闭与 HTTP URL 的空闲连接之前等待的最长时间。 | |
| Socket Idle Connections | 5 | HTTP URL 的最大空闲连接数。 | |
| Proxy Configuration Service | | 控制器服务 API:ProxyConfigurationServicecn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定代理配置 Controller Service 来代理网络请求。 对于 SOCKS,不保证处理器一定会使用所选的 SOCKS 版本。 |
| Request OAuth2 Access Token Provider | | 控制器服务 API:OAuth2AccessTokenProvidercn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 使用授权标头启用应用于 HTTP 请求的 OAuth2 承载令牌的托管检索。 |
| OAuth2 Access Token Refresh Strategy | ON_TOKEN_EXPIRATION |
| 指定应使用哪种策略来刷新 OAuth2 访问令牌。 |
| Request Username | | 用于验证 HTTP 请求的用户名。 使用 Base64 进行编码以进行 HTTP 基本身份验证,如 RFC 7617 中所述。 | |
| Request Password | | 用于验证 HTTP 请求的密码。 使用 Base64 进行编码以进行 HTTP 基本身份验证,如 RFC 7617 中所述。 敏感属性:是 | |
| Request Digest Authentication Enabled | false |
| 使用用户名和密码凭据对 HTTP 请求启用摘要式身份验证,如 RFC 7616 中所述。 |
| Request Failure Penalization Enabled | false |
| 当收到状态代码在 400 到 499 之间的 HTTP 响应时,启用对请求 FlowFiles 的惩罚。 |
| Request Body Enabled | true |
| 启用为 PATCH、POST 或 PUT 方法发送 HTTP 请求正文。 |
| Request Multipart Form-Data Name | | 启用发送使用 multipart/form-data 格式化并使用配置的表单名称的 HTTP 请求正文。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Request Multipart Form-Data Filename Enabled | true |
| 启用将 FlowFile 文件名属性作为多部分/表单数据 HTTP 请求的 Content-Disposition 标头中的文件名参数发送。 |
| Request Chunked Transfer-Encoding Enabled | false |
| 启用分块传输编码发送 HTTP 请求,即设置 Transfer-Encoding 标头为 chunked,并禁用发送 Content-Length 标头。Transfer-Encoding 适用于 RFC 7230 第 3.3.1 节中描述的 HTTP/1.1 请求正文。 |
| Request Content-Encoding | DISABLED |
| HTTP Content-Encoding 在传输过程中应用于请求正文。 接收服务器必须支持所选的编码以避免请求失败。 |
| Request Content-Type | ${mime.type} | 在发送 PATCH、POST 或 PUT 方法的 HTTP 请求体时应用的 HTTP Content-Type 头。未配置时,Content-Type 默认为 application/octet-stream。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Request Date Header Enabled | True |
| 启用在 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 Name | | FlowFile 属性名称,用于为传输到原始关系的 FlowFile 编写 HTTP 响应正文。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Response Body Attribute Size | 256 | 将 HTTP 响应正文写入 FlowFile 属性时应用的最大大小(以字节为单位)。 超过最大值的属性将被截断。 | |
| Response Body Ignored | false |
| 禁止将 HTTP 响应 FlowFiles 写入响应关系 |
| Response Cache Enabled | false |
| 启用 RFC 7234 中描述的 HTTP 响应缓存。缓存响应考虑 ETag 和其他标头。 |
| Response Cache Size | 10MB | HTTP 响应缓存的最大大小(以字节为单位)。 缓存响应考虑 ETag 和其他标头。 | |
| Response Cookie Strategy | DISABLED |
| 接受和保留 HTTP cookie 的策略。 接受 cookie 可以实现跨多个请求的持久性。 |
| Response Generation Required | false |
| 无论收到的 HTTP 响应状态代码如何,都可以生成 FlowFile 并将其传输到响应关系。 |
| Response FlowFile Naming Strategy | RANDOM |
| 确定用于设置传输到响应关系的 FlowFiles 的文件名属性的策略。 |
| Response Header Request Attributes Enabled | false |
| 允许将 HTTP 响应标头作为属性添加到传输到原始、重试或无重试关系的 FlowFiles。 |
| 响应头请求属性前缀 | | HTTP 响应头作为属性包含到传输到 Original、Retry 或 No Retry 关系的 FlowFile 时的前缀。建议以分隔符字符如 '.' 或 '-' 结尾。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Response Redirects Enabled | True |
| 启用随 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)
该组件不受限。
输入要求
该组件允许有传入连接。