Siddhi 中的 Web 服务
Web Services in Siddhi
我有一个网络服务 (REST)。每次有事件进入我的流时,我都想调用 WS。
我必须创建 Siddhi 的扩展并从 java 调用 Web 服务?
如果我需要 java 来调用 Web 服务,我应该扩展 "Aggregate Function" 吗?
在 Siddhi 中有任何指令可以用来调用网络服务吗?
下一个是我的WS样例:
感谢您的评论
您将能够使用 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);
我有一个网络服务 (REST)。每次有事件进入我的流时,我都想调用 WS。
我必须创建 Siddhi 的扩展并从 java 调用 Web 服务?
如果我需要 java 来调用 Web 服务,我应该扩展 "Aggregate Function" 吗?
在 Siddhi 中有任何指令可以用来调用网络服务吗?
下一个是我的WS样例:
感谢您的评论
您将能够使用 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);