0

{f_id:1001}对 http 服务执行 http 请求 ()。服务在没有源 f_id 的情况下只返回真/假结果。

并希望使用源 F_ID 选择它的响应:

@sink(type='http-request', publisher.url='http://127.0.0.1:3020/', 
    method="POST", sink.id='download-sink', @map(type='json'))
define stream OutputToNodejs(f_id long);

@source(type='http-response' , sink.id='download-sink', 
    http.status.code='200',
    @map(type='json', @attributes('result'))) 
define stream responseStream2xx(result bool);

@info(name = 'SimpleLogTrigger')
from responseStream2xx 
    select result as text, f_id_from_request /* HOW GET F_ID from source request HERE */
    insert into OutputStream2;

我想在从源响应中选择使用源请求消息。但是我怎么能在这里得到源消息呢?如果我不能 - 也许我可以将它的一些 id 从请求转发到响应?

4

1 回答 1

1

目前没有开箱即用的方法来做到这一点。有两种解决方法可以完成此操作。

  1. 让您的服务在响应中也返回 f_id 并在响应流中获取它
  2. 添加对HTTP 请求接收器HTTP 响应源的改进,以便源可以访问接收器的流变量。但这将是一项重大的开发工作。所以我认为第一个是更好的选择,因为您对 HTTP 服务进行了治理。
于 2018-12-26T06:09:25.260 回答