Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fiware Can';t存储属性';使用IoTAgentUL正确输入s值_Fiware_Fiware Orion - Fatal编程技术网

Fiware Can';t存储属性';使用IoTAgentUL正确输入s值

Fiware Can';t存储属性';使用IoTAgentUL正确输入s值,fiware,fiware-orion,Fiware,Fiware Orion,我需要在OrionCB的MongoDB中存储具有正确类型的设备属性值 由于无法执行该操作,我深入代码,发现IoAgentTul(以及IoAgentJSON)使用OrionCB的API v1,而不是API v2 正如我所看到的,API v1将数据发送到MongoDB,而不使用它的类型,因此每个度量值都存储为文本 另一方面,我发现APIv2使用其类型将数据发送到MongoDB。它使我可以用属性的类型来存储属性的值,这在处理数据(即创建索引、排序等)时对我有利 我的问题是,使用当前的物联网代理实现是否

我需要在OrionCB的MongoDB中存储具有正确类型的设备属性值

由于无法执行该操作,我深入代码,发现IoAgentTul(以及IoAgentJSON)使用OrionCB的
API v1
,而不是
API v2

正如我所看到的,API v1将数据发送到MongoDB,而不使用它的类型,因此每个度量值都存储为文本

另一方面,我发现
APIv2
使用其类型将数据发送到MongoDB。它使我可以用属性的类型来存储属性的值,这在处理数据(即创建索引、排序等)时对我有利


我的问题是,使用当前的物联网代理实现是否有任何解决方法。

我能想象的唯一解决方法是,一旦物联网代理自动创建实体,您自己更新此类实体的类型。我的意思是,好的,你可以更新实体的值和类型

更详细地说,我可以考虑订阅特定类型的所有实体(由代理创建的实体)的脚本。然后,当创建实体时,会通知脚本,脚本会自动更新实体属性的类型


请注意,您只需要在创建实体时修改属性的类型一次,而不是在更新实体的属性时;因此,您的脚本中需要一个数组或已修改实体的缓存。

在我看来,保存为文本的类型没有任何问题。使用这些值时,只需进行测试。如果已经知道,则不需要进行测试。如果应用程序不知道它正在处理什么类型的数据,只需进行测试以查看类型并做出具体决定。