我需要在IoTAgent UltraLight
中修改注册的设备。修改是指添加一些属性,并删除其他属性。
我还想更新Orion CB
中的实体。
有可能这样做吗?我怎样才能做到这一点?
最佳答案
IoTA(通常是IoTA库)公开了用于设备创建的北向配置界面。核心思想是,当您在IoTA中直接或通过IoTA管理器配置设备时,将在Context Broker中自动创建一个实体。这样的nothr供应接口也允许检索,移除和更新。
话虽这么说,IoTA的南接口设计为仅接受来自设备的措施和命令执行结果。因此,如果有新属性起作用,并且您通过IoTA为该新属性提供值,则不会在Context Broker中附加新属性;简单地,此信息将被删除。
为了接受有关新属性的数据,首先,您必须使用IoTA的上述供应接口,尤其是更新设备操作,以供应这种新属性;它将在Context Broker级别自动向实体添加新属性。从这里开始,将在Context Broker中更新发送到IoTA的新属性的值。
这样的更新请求如下所示:
PUT http://iota_host:iota_port/iot/devices/<dev_id>?protocol=<protocol_type>
Fiware-Service: <service>
Fiware-ServicePath: <subservice>
{
"entity_type": <entity_type>,
"attributes": [ <new_active_attrs_if_any> ],
"lazy": [ <new_lazy_attrs_if_any> ],
"commands": [ <new_commands_if_any> ],
"statis_attributes": [ <new_static_attrs_if_any> ]
}
可悲的是,暂时无法删除已经存在的属性。