Fiware Orion:不同用户的唯一实体ID

时间:2018-08-22 10:47:54

标签: fiware-orion

我的应用程序控制“传感器”,并使用Orion作为实体来管理用户的传感器。 例如,实体定义为:

{
  id: "MySensor"
  type: "Sensor"
...
}

传感器名称被编码为实体ID。 但是,在此系统中,两个不同的用户不能具有相同的传感器名称。 如何允许不同的用户使用相同的实体ID?

我可以使用ServicePath功能并将用户名放入其中。 但是我总是不愿意使用ServicePath,因为它的行为如此怪异:

  • 当两个实体在两个不同的服务路径中具有相同的id时,非常容易混淆。这两个实体都将被退回,无法区分它们。
  • 有时您需要指定servicePath标头(UPDATE,DELETE操作),有时则不需要(GET假定通配符servicePath)。
  • HTTP标头的用法(而servicepath显然在id和type级别)

作为一种替代解决方案,我可以将用户名编码为实体ID:MySensor-userx。但这也很尴尬:)

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

为不同用户生成不同实体ID的唯一方法是使用某种结构化字符串,例如URN,例如

urn:ngsi-ld:Sensor:MyUser:A2345

是A234传感器标识符,而MyUser是用户标识符。

希望这会有所帮助