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