Siddhi 中的 Web 服务

Web Services in Siddhi

我有一个网络服务 (REST)。每次有事件进入我的流时,我都想调用 WS。

我必须创建 Siddhi 的扩展并从 java 调用 Web 服务?

如果我需要 java 来调用 Web 服务,我应该扩展 "Aggregate Function" 吗?

在 Siddhi 中有任何指令可以用来调用网络服务吗?

下一个是我的WS样例:

http://72.37.125.125:3000/phishing?url=www.innerjoin.co

感谢您的评论

您将能够使用 HTTP 事件发布者[1] 实现此 OOTB,而无需编写自定义代码。使用此发布者,您可以使用自定义负载向预定义的 URL 发送 PUT/POST 请求。如共享文档中所述创建 HTTP 发布者。然后您可以使用自定义 json 映射为您的 Web 服务创建可接受的负载。创建自定义映射时,您可以在花括号内引用事件属性,如下所示。

{
   "payload_name_for_webservice":{{attribute_name_in_event}},
}

[1]https://docs.wso2.com/display/CEP400/HTTP+Event+Publisher

谢谢。

但我有一个接收者和其他发布者。

我想在到达 "org.wso2.event.sensor.stream:1.0.0" 的新事件时从 siddhi 调用我的 WS,Web 服务的输入参数是 "meta_sensorName"

我怎样才能做到?

我的代码是这样的:

/* Enter a unique ExecutionPlan */
@Plan:name('ExecutionPlan')

/* Enter a unique description for ExecutionPlan */
-- @Plan:description('ExecutionPlan')

/* define streams/tables and write queries here ... */

@Import('org.wso2.event.sensor.stream:1.0.0')
define stream sensorStream (meta_timestamp long, meta_isPowerSaverEnabled bool, meta_sensorId int, meta_sensorName string, correlation_longitude double, correlation_latitude double, humidity float, sensorValue double);