白皮书
车联网设计与实现:搭建可靠、高效、符合行业需求的车联网平台 →

Python 插件虚拟环境支持

eKuiper Team
2023-3-6
Python 插件虚拟环境支持

eKuiper 团队于年前发布了 1.8.0 版本,并在 2 月对该版本的文档进行了完善,同时通过 EMQ Demo Day 直播帮助用户更进一步了解新功能的使用场景(直播观看地址:LF Edge eKuiper 1.8 新功能演示_哔哩哔哩_bilibili )。

我们也开始了下一个版本 1.9.0 的开发,该版本将是一个较小的迭代版本,主要目标是实现与工业协议网关软件 Neuron 的多实例连接。目前主要完成了功能调研和规划工作,以及新功能 Python 插件虚拟环境支持的开发。

此外,本月还发布了 1.8.1 版本,包含导入 Portable 插件以及 Flow Editor 等 bug 修复,详情请查看:https://github.com/lf-edge/ekuiper/releases/tag/1.8.1

Python 插件虚拟环境支持

虚拟环境是 Python 开发中常用的技术,对 Python 的依赖性管理很有帮助。Anaconda 或 Miniconda 是最流行的 Python 环境管理器之一。conda 软件包和环境管理器包含在所有版本的 Anaconda®、Miniconda 和 Anaconda Repository 中。eKuiper 支持使用 conda 环境运行 Python 插件。

使用该功能之前,用户需要确保 eKuiper 运行的主机或者 Docker container 中已配置好 Python 的 conda 虚拟环境。使用该功能与普通 Python 插件相同,只是需要在插件打包阶段,编写 JSON 元文件时指定使用的虚拟环境名称即可,如下示例文件所示。

{
    "version": "v1.0.0",
    "language": "python",
    "executable": "pysam.py",
    "virtualEnvType": "conda",
    "env": "myenv",
    "sources": [
      "pyjson"
    ],
    "sinks": [
      "print"
    ],
    "functions": [
      "revert"
    ]
  }

在本例中,我们指定了虚拟环境类型 virtualEnvTypeconda,虚拟环境名称为 myenv。这样插件运行时将会运行在 conda 的 myenv 环境中。目前,虚拟环境类型仅支持 conda 。

即将到来

下个月我们将主要进行 1.9.0 版本其他功能的开发,期望在下月底或稍晚与 Neuron 协同发布。在这个版本中,我们将修改与 Neuron 的连接方式,实现多实例连接。此外,我们将开发其他功能,包括局部配置批量下发功能,方便多实例的配置管理;Http Pull Source 支持动态 token,以支持接入更多的 HTTP 数据源等。敬请期待。

推荐阅读

2022-10-8eKuiper Team
提供流批结合计算能力

本月,eKuiper 开发团队和社区的伙伴共同完成了一系列的新功能:初步实现了 Lookup Table(查询表)的支持,从而完善了流批结合的运算能力,例如实时数据补全的能力。