当前位置: 首页 > 面试题库 >

有没有一种方法可以将Mosquitto有效载荷存储到MySQL数据库中以进行历史记录?

商正诚
2023-03-14
问题内容

我正在使用Mosquitto MQTT代理,并且希望将每个发布的消息存储到MySQL数据库中,而无需创建客户端和订阅#通配符。

我发现了这个https://github.com/jpmens/mosquitto-auth-
plug,
但是我的英语不够好,无法完全理解它…我认为这只是存储持久性消息,以便代理稍后再发送。我对吗 ?

谢谢


问题答案:

mosquitto-auth-plugin使用数据库存储用户名/密码和ACL信息,而不是消息内容。

从任何MQTT代理编写一些代码以将消息存储在数据库中相对简单。

有几种方法:

  1. 您可以编写一个小型java / python / nodejs应用程序来使用给定语言的MQTT 库之一来执行此操作。
  2. 您可以使用诸如Node-RED之类的东西来创建将消息写入数据库的流。
  3. 您可以使用HiveMQ代理而不是Mosquitto,该代理具有支持将消息存储在数据库中的插件机制。


 类似资料:
  • 问题内容: 我们有一个SQL联系人数据库,可以无数次链接到我们所有的项目信息中。 最近建议我们将这些信息的联系人部分提供给最终用户的电子邮件客户端,因此我们正在考虑设置LDAP服务器。 有没有可以让我们将数据库中的信息(可能是我怀疑的视图)映射到LDAP服务器的信息? 问题答案: OpenLDAP支持使用back- sql 由元数据驱动的SQL后端。测试的状态因您选择的RDBMS后端而异。

  • 问题内容: 当我从不带参数的命令行运行时,我进入一个交互式外壳。如果我执行一些命令,退出节点并重新启动节点,则向上箭头不会执行任何操作(我希望它滚动显示以前的命令)。 有没有一种方法可以交互式地调用节点,以便它可以记住我的旧命令? 问题答案: 您可以使用rlwrap将node.js REPL命令存储在历史文件中。 首先,安装rlwrap(使用apt-get或brew等软件包管理器轻松完成)。 然后

  • 问题内容: 我有一个.csv文件,如下所示: 我必须从文件中删除重复的电子邮件(整行)(即,上面示例中包含的行之一)。如何仅在字段1(用逗号分隔)上使用?根据,没有列选项。 我尝试了一些东西,但是没有用。 问题答案: 为了独特 所以逗号是定界符 对于关键字段1 测试结果:

  • 问题内容: 如果输入大小太小,则库会自动序列化 流中地图的执行,但是这种自动化不会并且也不会考虑地图操作的繁重程度。有没有办法 强制parallelStream()实际并行化CPU重映射? 问题答案: 似乎存在根本的误解。链接的“问答”讨论了由于OP没有 看到预期的加速,流显然不能并行工作。结论是,有没有好处在 并行处理工作负载是否太小,不,有一个自动回退到顺序执行。 实际上是相反的。如果您请求并

  • 问题内容: 我知道Internet Explorer具有自动换行样式,但是我想知道是否有跨浏览器的方法可以对div中的文本进行这种操作。 最好是CSS,但JavaScript代码片段也可以正常工作。 编辑:是的,指的是长长的弦,为人们加油! 问题答案: 阅读原始评论时,卢瑟福正在寻找一种 跨浏览器的 方式来包装 不间断的 文本(根据他对IE的自动换行设计,旨在破坏不间断的字符串)。 我现在已经使用

  • 我有一个Spring Boot应用程序,注释为。几乎所有的存储库都需要实现一些自定义逻辑,这是使用完成的。 是否有方法创建将从机制中排除的存储库?