Internal HTTP Client

支持通过GET,POST,或PUT方式发起HTTP请求,并支持开启缓存(以URL+请求参数生成key),以便二次查询。

配置详情

该算子的配置包括 GeneralBasicInput/OutputRequest,和 QueryConfig 的详细信息,各字段的配置如下:

General

名称 是否必须 描述
Name Yes 算子名称
Description No 算子描述
Stage Library Yes 算子所属的库
Required Fields No 数据必须包含的字段,如果未包含指定字段,则 record 将被过滤掉
Preconditions No 数据必须满足的前提条件,如果不满足指定条件,则 record 将被过滤掉。例如:${record:value('/value') > 0}。有关 EL 语句的使用方法,参考 Expression Language
On Record Error Yes

对错误数据的处理方式,可选:

  • Discard:直接丢弃
  • Send to Error:发送至错误中心
  • Stop Pipeline:停止流任务运行

Basic

名称 是否必须 描述
Enable Cache Fields No 选择是否开启缓存。缓存为Local缓存,数据处理速度快,任务暂停、重启或者重试时后缓存数据会丢失。
Expire Rule No 开启缓存时,选择缓存的失效时间
Quality Filter No 根据数据质量过滤处理数据,只有符合质量条件的 record 才会进行此次处理

Input/Output

名称 是否必须 描述
Input Point Yes 数据输入点,格式为:{模型标识}::{测点标识}
Output Point Yes 数据输出点,格式为:{模型标识}::{测点标识}

Request

名称 是否必须 描述
Request Method Yes 选择请求方式,可选 Get,Post,或Put
Request URL Yes 输入请求的URL
Param Generate: Position Yes 选择输入参数的位置,可选 URL Path,URL Query,Request Body,或 Header
Param Generate: Param Key Yes 输入请求参数的名称
Param Generate: URLParam Type Yes 选择参数类型,可选 By Field 或 By Input。若选择 byField,现不支持 List/Map 等复杂格式,且若传参数值类型会被强转成 String。
Param Generate: Param Value Yes 输入或选择参数的值
Access Key Yes 输入发起请求的应用的Access Key(通过 EnOS 管理控制台注册应用生成),用于请求鉴权
Secret Key Yes 输入与Access Key对应的Secret Key

QueryConfig

名称 是否必须 描述
Parallel Number Yes

选择请求并发数的方式,可根据API服务的限制,选择System Default或User Defined:

  • System Default:系统默认支持的并发数。
  • User Defined:自定义的并发数,并且在 UserDefined 输入框中,输入指定的请求并发数(若超过Stage配置的上限,启动任务时会报错)。
Enable Retry No 指定是否在请求失败时重试,并且在 Retry Attempts 输入框中,设置失败重试次数。
Cache Filter No

当缓存开启时,指定缓存的过滤条件。默认值为 true,支持Aviator表达式,示例:

  • code == 200
  • (code != 500) && (msg == "ok")

输出结果

该算子的输出结果包含在 attr 结构体中。各字段的描述如下:

名称 数据类型 描述
hasData Boolean 表示请求是否成功。true:请求成功,返回 responosecacheKey 字段;false:请求失败,仅返回 cacheKey 字段
checkSuccess Boolean 标识返回结果是否符合 Cache Filter 的表达式
response Object 如果请求成功,显示相应请求的(字符串)返回值,并在 returnBy 字段中注明返回结果是来自Redis(缓存数据)还是来自HTTP请求
cacheKey String 由Request URL + Param Generate配置,拼接出的请求URL

输出示例

../../../_images/http_lookup_result1.png