RestLookupService Controller Service
描述
使用 REST 服务查找值。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| URL | | REST 端点的 URL。表达式语言针对查找键/值对进行求值,而不是 FlowFile 属性。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Record Reader | | 控制器服务 API:RecordReaderFactorycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 用于加载有效负载并将其作为记录集处理的Record Reader。 |
| Record Path | | 可用于定义从记录中何处获取要合并到要丰富的记录集中的实际数据的可选记录路径。有关何时可能有用的示例,请参阅文档。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Response Handling Strategy | RETURNED |
| 是否返回所有响应或针对不成功的 HTTP 状态代码抛出错误。 |
| SSL Context Service | | 控制器服务 API:SSLContextProvidercn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 用于提供客户端证书信息以进行 TLS/SSL 连接的 SSL 上下文服务。 |
| Authentication Strategy | NONE |
| 与 REST 服务一起使用的身份验证策略。 |
| OAuth2 Access Token Provider | | 控制器服务 API:OAuth2AccessTokenProvidercn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 使用授权标头启用应用于 HTTP 请求的 OAuth2 承载令牌的托管检索。 |
| Proxy Configuration Service | | 控制器服务 API:ProxyConfigurationServicecn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定代理配置 Controller Service 来代理网络请求。 对于 SOCKS,不保证处理器一定会使用所选的 SOCKS 版本。 |
| Basic Authentication Username | | 客户端用于对远程 URL 进行身份验证的用户名。不能包含控制字符 (0-31)、':' 或 DEL (127)。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Basic Authentication Password | | 客户端用于根据远程 URL 进行身份验证的密码。 敏感属性:是 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Use Digest Authentication | false |
| 是否使用摘要认证与网站通信。'基本认证用户名'和'基本认证密码'用于身份验证。 |
| Connection Timeout | 5 secs | 连接到远程服务的最大等待时间。 | |
| Read Timeout | 15 secs | 远程服务响应的最长等待时间。 |
动态属性
| 名称 | 值 | 描述 |
|---|---|---|
| * | * | 所有动态属性都作为 HTTP 头添加,名称作为头名称,值作为头值。 |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
提供的 Service API
LookupServiceRecordLookupService
详细说明
RestLookupService
概述
该 Lookup Service 支持以下可选的查询坐标键:
- request.method;默认为 'get',有效值:
- delete
- get
- post
- put
- request.body;包含一个表示 JSON、XML 等的字符串,会随除 "get" 之外的方法一起发送。
- mime.type;指定请求体的媒体类型,传递 'body' 时必需。
- *;可以配置任何其他键,用于传递解析目标 URL 所需的变量。参见下文"动态 URL"一节。
Record Reader 用于消费 REST 服务调用的响应,并将其转换为一条或多条记录。 Record Path 属性用于指定查询路径,可以指向嵌套记录,也可以指向 REST 响应深处的 单个位置。注意:必须构建一个能准确封装 REST 响应的合法 schema,该服务才能正常工作。
请求头(Headers)
通过动态属性支持请求头。只需添加一个动态属性,其名称即为请求头名,值即为该请求头的值。 支持由变量注册表(variable registry)输入驱动的表达式语言。
动态 URL
URL 属性支持表达式语言,其变量来自使用本 Lookup Service 的组件(例如 LookupRecord Processor)上配置的查询键/值对。用户指定的配置会传递给表达式语言 引擎求值。注意:对于该属性,FlowFile 的 Attribute 会被忽略。
示例:URL 为 http://example.com/service/${user.name}/friend/${friend.id}, 结合 LookupRecord Processor 上的示例 record path:
- user.name => "/example/username"
- friend.id => "/example/first_friend"
会动态生成端点 http://example.com/service/john.smith/friend/12345
在 URL 中使用环境属性
除了查询键/值对之外,还可以在 URL 属性配置的表达式语言中引用环境属性/系统变量。
示例:URL 为 http://${apiServerHostname}:${apiServerPort}/service/${user.name}/friend/${friend.id}, 结合前面的示例 record path,以及环境属性:
- apiServerHostname => "test.example.com"
- apiServerPort => "8080"
会动态生成端点 http://test.example.com:8080/service/john.smith/friend/12345