HTTP 提取源

eKuiper 为提取 HTTP 源流提供了内置支持,该支持可从 HTTP 服务器代理提取消息并输入 eKuiper 处理管道。 HTTP提取源的配置文件位于 etc/sources/httppull.yaml中。 以下是文件格式。

  1. #全局httppull配置
  2. default:
  3. # 请求服务器地址的URL
  4. url: http://localhost
  5. # post, get, put, delete
  6. method: post
  7. # 请求之间的间隔,时间单位为 ms
  8. interval: 10000
  9. # http请求超时,时间单位为 ms
  10. timeout: 5000
  11. # 如果将其设置为 true,则将与最后的结果进行比较; 如果两个请求的响应相同,则将跳过发送结果。
  12. # 可能的设置可能是:true/false
  13. incremental: false
  14. # 请求正文,例如'{"data": "data", "method": 1}'
  15. body: '{}'
  16. # 正文类型, none|text|json|html|xml|javascript|form
  17. bodyType: json
  18. # 请求所需的HTTP标头
  19. headers:
  20. Accept: application/json
  21. #重载全局配置
  22. application_conf: #Conf_key
  23. incremental: true
  24. url: http://localhost:9090/pull

全局HTTP提取配置

用户可以在此处指定全局 HTTP 提取设置。 default 部分中指定的配置项将用作所有HTTP 连接的默认设置。

url

获取结果的 URL。

method

HTTP 方法,它可以是 post、get、put 和 delete。

interval

请求之间的间隔时间,单位为 ms。

timeout

http 请求的超时时间,单位为 ms。

incremental

如果将其设置为 true,则将与最后的结果进行比较; 如果两个请求的响应相同,则将跳过发送结果。

body

请求的正文, 例如 {"data": "data", "method": 1}

bodyType

正文类型,可以是 none|text|json|html|xml|javascript|form。

certificationPath

证书路径。可以为绝对路径,也可以为相对路径。如果指定的是相对路径,那么父目录为执行 kuiperd 命令的路径。比如,如果你在 /var/kuiper 中运行 bin/kuiperd ,那么父目录为 /var/kuiper; 如果运行从/var/kuiper/bin中运行./kuiperd,那么父目录为 /var/kuiper/bin。 比如 d3807d9fa5-certificate.pem

privateKeyPath

私钥路径。可以为绝对路径,也可以为相对路径。更详细的信息,请参考 certificationPath,比如 d3807d9fa5-private.pem.key

rootCaPath

根证书路径。可以为绝对路径,也可以为相对路径。

insecureSkipVerify

控制是否跳过证书认证。如果被设置为 true,那么跳过证书认证;否则进行证书验证。缺省为 true

headers

需要与 HTTP 请求一起发送的 HTTP 请求标头。

重载默认设置

如果您有特定的连接需要重载默认设置,则可以创建一个自定义部分。 在上一个示例中,我们创建了一个名为 application_conf 的特定设置。 然后,您可以在创建流定义时使用选项 CONF_KEY 指定配置(有关更多信息,请参见 流规格)。

样例

  1. demo (
  2. ...
  3. ) WITH (DATASOURCE="test/", FORMAT="JSON", TYPE="httppull", KEY="USERID", CONF_KEY="application_conf");

这些特定设置所使用的配置键与 default 设置中的配置键相同,在特定设置中指定的任何值都将重载 default 部分中的值。