Fiware 从sth comet检索数据时获取空值时出错

Fiware 从sth comet检索数据时获取空值时出错,fiware,fiware-sth-comet,Fiware,Fiware Sth Comet,首先,我使用这个脚本注册服务 curl-H“内容类型:应用程序/json”-H“固件服务: cairoUniversity“-H”固件服务路径:/FCI/ICDL“\ -d{“服务”:[ { “apikey”:“api1”, “cbroker”:“cbroker”, “实体类型”:“营地”, “资源”:“/物联网/日” }]}' 然后我用这个注册设备 curl \-H“内容类型: 应用程序/json“-H”固件服务:cairoUniversity“-H “固件服务路径:/FCI/ICDL”\-d

首先,我使用这个脚本注册服务

curl-H“内容类型:应用程序/json”-H“固件服务: cairoUniversity“-H”固件服务路径:/FCI/ICDL“\ -d{“服务”:[ { “apikey”:“api1”, “cbroker”:“cbroker”, “实体类型”:“营地”, “资源”:“/物联网/日” }]}'

然后我用这个注册设备

curl \-H“内容类型: 应用程序/json“-H”固件服务:cairoUniversity“-H “固件服务路径:/FCI/ICDL”\-d'{“设备”:[ { “设备id”:“smartmeter2”, “实体名称”:“ICDL2”, “实体类型”:“营地”, “协议”:“PDI物联网超轻”, “时区”:“欧洲/马德里”, “属性”:[ { “对象id”:“c”, “名称”:“消费选项”, “类型”:“int” } ] }]}'

然后我订阅猎户座

curl-X POST-H“内容类型:应用程序/json”-H”接受: 应用程序/json“-H”固件服务:cairoUniversity\ -H“固件服务路径:/FCI/ICDL“-H”缓存控制:无缓存“-d”{ “实体”:[ { “类型”:“营地”, “isPattern”:“false”, “id”:“ICDL2” } ], >“属性”:[ “消费” ], “参考”:“http://X.X.X:8666/notify”, “持续时间”:“P1M”, “通知条件”:[ { “类型”:“ONCHANGE”, “价值观”:[ “消费” ] } ]}'“}

之后,我发送观察

旋度'-d'c | 47'-H “内容类型:文本/普通”

最后从某物中检索数据

curl-X GET\
'' \-H'accept:application/json'\-H'缓存控制:无缓存'\
-H'内容类型:application/json'\-H'固件服务:cairoUniversity'\-H'固件服务路径:/FCI/ICDL'| python -mjson.tool}

我收到了这个回复

“上下文响应”:[ { “contextElement”:{ “属性”:[ { “名称”:“消费选项”, “值”:[] } ], “id”:“ICDL”, “isPattern”:false, “类型”:“营地” }, “状态代码”:{ “代码”:“200”, “合理短语”:“好” } } ]

这就是日志

彗星时间=2017-09-04T14:26:44.782Z | lvl=INFO | corr=n/a| trans=n/a | op=OPER\u STH\u SERVER\u LOG | from=n/a | srv=n/a | subsrv=n/a| comp=STH | msg=Everything OK,过去60年代有0个请求参与 彗星时间=2017-09-04T14:27:44.787Z | lvl=INFO| corr=n/a | trans=n/a | op=OPER\u STH\u SERVER\u LOG | from=n/a | srv=n/a| subsrv=n/a | comp=STH | msg=一切正常,0个请求在 最后60秒间隔

彗星时间=2017-09-04T14:27:52.834Z | lvl=警告| corr=99577e81-bbd4-4130-95f6-a9d029f84db0| trans=99577e81-bbd4-4130-95f6-a9d029f84db0 | op=OPER_STH_GET| from=n/a | srv=cairoUniversity | subsrv=/FCI/ICDL | comp=STH|

>msg=获取要检索的聚合数据集合时出错 (该集合可能不存在)

彗星时间=2017-09-04T14:28:44.792Z | lvl=INFO | corr=n/a| trans=n/a | op=OPER\u STH\u SERVER\u LOG | from=n/a | srv=n/a | subsrv=n/a| comp=STH | msg=Everything OK,过去60年代有0个请求参与 彗星时间=2017-09-04T14:29:44.797Z | lvl=INFO| corr=n/a | trans=n/a | op=OPER\u STH\u SERVER\u LOG | from=n/a | srv=n/a| subsrv=n/a | comp=STH | msg=一切正常,0个请求在 最后60秒间隔彗星时间=2017-09-04T14:30:44.805Z| lvl=INFO | corr=n/a | trans=n/a | op=OPER|u STH|u SERVER|u LOG | from=n/a| srv=n/a | subsrv=n/a | comp=STH | msg=一切正常,0个请求 在过去的60年代参加过某个彗星| 时间=2017-09-04T14:31:44.811Z | lvl=INFO | corr=n/a | trans=n/a| op=OPER\u STH\u SERVER\u LOG | from=n/a | srv=n/a | subsrv=n/a | comp=STH| msg=一切正常,在过去60秒的时间间隔内有0个请求参与


此问题的原因和解决方法根据您发布的日志,通知从未到达SHT服务,这就是为什么您在获取聚合数据集合进行检索时收到msg=Error(该集合可能不存在),因此问题看起来与您如何在Orion中创建实体有关

我注意到您已经创建了一个名为ICDL2 an的实体,在该实体中,您包括属性“name”:“concemption”,“type”:“int”,但从不包括“value”属性,因此,当您发送数据时,该实体中的数据永远不会更新

其次,您以“curl”“-d'c | 47'-H”内容类型:text/plain”的方式向设备发送数据,但正如我之前告诉您的,值“47”不会写入实体中,因为它没有创建,您将触发器关联到值“name”:“concemption”,但它不会更改,因为它没有属性值


因此,管理您的实体和对ORION的订阅似乎是一个问题,您可以找到有关如何在ORION中创建和更新实体以及如何在中进行一些测试的更多信息:。在您确定ORION向您发送通知后,您可以在STH comet中查看数据。此外,如果您对fiware产品有任何疑问s您可以在中发布问题,并收到fiware每个组件团队的直接答案。

您的问题帖子很难理解…请使用代码块样式而不是引号样式。很抱歉延迟,非常感谢您现在正在工作