EMQ 问答社区

Kuiper 1.2.0 发布

概述

Kuiper1.2.0 添加了外部函数,可通过配置将现有的 REST、gRPC 或 msgpackrpc 服务映射到用户定义的函数中。作为插件扩展的补充,外部函数更为简单易用。相较于插件扩展,它更适合于除性能关键场景之外的所有场景。外部函数可以通过一个 json 文件和一个或多个 schema 文件批量定义(现在只支持 protobuf 格式),可以通过 CLI 或 REST API 进行热重载。另外,Kuiper 可解析带有 http 选项的 proto 文件,以便更好地定义 REST 服务。

该版本中添加了一种新的源类型 Table ,相对于流来说,它相当于当前时间点的快照。通过将其与流连接,用户可以将其用作查找字典或参考状态。

我们还添加了一个新的 SQL 表达式:case 表达式,用于评估条件列表并返回多个可能的结果表达式之一。内置函数还添加了一些增强功能。现在支持使用通配符作为用户定义函数的参数。最后,我们修复了产品和文档的几个问题。

功能与修复

  • 仅通过配置支持外部函数以使用 SQL 调用已有服务

  • 支持用表类型来表示流的当前状态

    • 支持表类型、语句和管理 CLI/REST API
    • 新增通常用作静态表的文件源
    • 允许将现有的源类型用作持续更新的表
  • 支持 case 表达式

  • 支持将 * 作为自定义函数的参数

  • 支持 json 函数使用字符串参数

  • 允许 bigint、float 和 string 作为 format\u time 函数的参数

  • 将非指定字段的 “reengine_field” 重命名为 “kuiper_field”

  • 构建

    • 修复了通过 Docker volume (数据卷)加载配置时的权限问题
    • 新增对 markdown 目录的检查
    • 新增对 deb/rpm 的检查
    • 更新 tdengine 版本
  • 修复

    • 避免在日志中打印密码
    • 让 meta 字段忽略大小写
    • 修复了在字段 ref 中没有流名称的情况下集成时的问题
    • 修复了多流问题中相同字段名称的别名
    • 修复了 absolute 模式下的访问子文件夹故障问题
    • 修复多层嵌入式结构中流描述的问题
  • 文档修复

    • 修复了一些断开的链接
    • 修正了一些错别字
    • 更新 JSON 表达式文档

特别感谢

  • @jrtitus 提供了一些文档修复

  • @tmactao 提供了一个文档修复

1赞