FIWARE Orion:更改实体类型
FIWARE Orion: change entity type
在 Orion 中,是否可以更改实体的类型?
相关问题,是否可以更改属性的类型?
编辑:似乎无法更改实体的类型。所以创建一个新的实体似乎是一个解决方案。但是如何保留 dateCreated 和 dateModified?
In Orion, is it possible to change the type of an entity
不直接。实体 ID 和实体类型是不可变的。但是,您可以使用新类型创建实体的副本,然后删除旧实体。这将产生相同的效果。
Related question, it is possible to change the type of an attribute?
是的,是的。更新属性时,不仅可以更改值,还可以更改类型(和元数据)。
编辑:dateModified
和 dateCreation
属性和元数据旨在由 Context Broker 自动管理。客户不能修改它们,它们是"read-only"。这个想法是给定的上下文消费者客户端(原则上独立于上下文生产者客户端 creating/updating 实体)具有一个任何人都无法更改的可信时间戳。
所以,你基本上有两个选择:
使用您的自定义时间戳属性和元数据。当您创建新实体时,它们可以是 "moved"。但是,CB 不会自动维护它们,因此您的应用程序必须这样做。
使用 out-of-API 进程,在数据库级别移动实体。但是,这可能很复杂,因为您需要直接访问数据库。
EDIT2:对于第二种情况(基于数据库的流程),请考虑 Orion DB model。特别是:
_id.type
用于实体类型
creDate
是实体创建日期
modDate
为实体修改日期
attrs.A.creDate
用于属性 A 创建日期
attrs.A.modDate
为属性A修改日期
在 Orion 中,是否可以更改实体的类型? 相关问题,是否可以更改属性的类型?
编辑:似乎无法更改实体的类型。所以创建一个新的实体似乎是一个解决方案。但是如何保留 dateCreated 和 dateModified?
In Orion, is it possible to change the type of an entity
不直接。实体 ID 和实体类型是不可变的。但是,您可以使用新类型创建实体的副本,然后删除旧实体。这将产生相同的效果。
Related question, it is possible to change the type of an attribute?
是的,是的。更新属性时,不仅可以更改值,还可以更改类型(和元数据)。
编辑:dateModified
和 dateCreation
属性和元数据旨在由 Context Broker 自动管理。客户不能修改它们,它们是"read-only"。这个想法是给定的上下文消费者客户端(原则上独立于上下文生产者客户端 creating/updating 实体)具有一个任何人都无法更改的可信时间戳。
所以,你基本上有两个选择:
使用您的自定义时间戳属性和元数据。当您创建新实体时,它们可以是 "moved"。但是,CB 不会自动维护它们,因此您的应用程序必须这样做。
使用 out-of-API 进程,在数据库级别移动实体。但是,这可能很复杂,因为您需要直接访问数据库。
EDIT2:对于第二种情况(基于数据库的流程),请考虑 Orion DB model。特别是:
_id.type
用于实体类型creDate
是实体创建日期modDate
为实体修改日期attrs.A.creDate
用于属性 A 创建日期attrs.A.modDate
为属性A修改日期