eclipse-hono - 在 Eclipse-hono 中使用通配符订阅所有租户

标签 eclipse-hono

我正在尝试使用来自hono的数据。我按照 Starting a consumer 上的指南进行操作关于hono文档。
我目前正在尝试通过在 mvn 命令末尾添加 --tenant.id=* 来订阅所有租户。这会产生以下命令:

mvn spring-boot:run -Drun.arguments=--hono.client.host=localhost,--hono.client.username=consumer@HONO,--hono.client.password=verysecret,--destination.TopicTemplate=gw/\!{tenant}/\!{device}/alp,--destination.Hoscalhost,--destination.Port=11883,--tenant.id=*

当我这样订阅时,我没有收到任何消息。当我使用示例命令(仅适用于 DEFAULT_TENANT)订阅时,我正在使用消息。
当前用户权限如下所示:

"consumer@HONO": {
      "mechanism": "PLAIN",
      "password": "verysecret",
      "authorities": [ "application" ]
    }

当前的应用程序角色如下所示:

"application": [
  {
    "resource": "telemetry/*",
    "activities": [ "READ" ]
  },
  {
    "resource": "event/*",
    "activities": [ "READ" ]
  },
  {
    "resource": "control/*",
    "activities": [ "READ", "WRITE" ]
  }

仍然是Hono github的原始版本。 .

编辑:消费者还订阅事件/租户。就我而言,这是 event/。消耗在主题 event/DEFAULT_TENANT 和 event/MY_TENANT 上发布的事件。然而,遥测的消费者似乎没有注册。

最佳答案

我终于知道是怎么回事了。
由于以下错误,该消息似乎在 QPID 调度路由器中被阻止:“未找到解析树匹配”。
这可以通过更改 qpid 配置来解决。在此配置中您应该能够找到以下记录:

["linkRoute", {
    "prefix": "event/",
    "direction": "in",
    "connection": "broker"
  }],

  ["linkRoute", {
    "prefix": "event/",
    "direction": "out",
    "connection": "broker"
  }],

  ["address", {
    "prefix": "telemetry/",
    "distribution": "balanced"
  }],

它为事件主题创建链接路由(进出),但不为遥测主题创建链接路由。为遥测主题添加这些记录可以解决该问题。

["linkRoute", {
    "prefix": "event/",
    "direction": "in",
    "connection": "broker"
  }],

  ["linkRoute", {
    "prefix": "event/",
    "direction": "out",
    "connection": "broker"
  }],

  ["linkRoute", {
    "prefix": "telemetry/",
    "direction": "in",
    "connection": "broker"
  }],

  ["linkRoute", {
    "prefix": "telemetry/",
    "direction": "out",
    "connection": "broker"
  }],

  ["address", {
    "prefix": "telemetry/",
    "distribution": "balanced"
  }],

关于eclipse-hono - 在 Eclipse-hono 中使用通配符订阅所有租户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52988184/

相关文章:

docker - 在 Docker 终端 Windows 中更改目录

kubernetes - 使用 Kubernetes 安装的 Eclipse Hono 1.1.1 - 创建租户时出现问题

java - 如何使用自定义 HttpAdaptor 将电子锁跟踪器 (JT701) 与 Eclipse Hono 集成