1

几天前,当我使用正则表达式查询 Orion 上下文代理时,响应包括与该正则表达式匹配的所有实体,现在只检索旧实体的数据,如果我想访问最新的实体,我需要使用更具体的正则表达式发出另一个请求。

问题是现在我需要使用不同的正则表达式进行两个不同的查询来检索旧实体和新实体,而一周前我只需要使用最通用的正则表达式进行查询。

想象一下,我的实体 id 的结构是:

  • dev:name_proyect:name_object:name_service

几天前,我只需要这个通用表达式来检索所有数据:

  • dev:name_proyect:.*

现在我需要两个查询来获得相同的结果:

  • dev:name_proyect:.* -> 响应仅包含旧实体
  • dev:name_proyect:name_object:.* -> 响应只检索新数据

那么,Orion CB 中正则表达式的使用是否发生了变化?我现在需要做其他事情来检索所有数据,只需一个查询和最通用的正则表达式吗?

我正在使用的 Orion 实例是: http ://orion.lab.fi-ware.eu:1026

4

1 回答 1

1

请注意,从 0.14.0 开始,Orion 实现了分页,详细信息在用户手册的相应部分中进行了描述。

queryContext(和相关的便利操作)检索的实体数量默认限制为 20。如果您想增加该限制,请使用limitURI 参数,例如

POST http://orion.lab.fi-ware.eu:1026/ngsi10/queryContext?limit=200

绝对最大限制为 1,000。如果查询涵盖超过 1,000 个结果,则客户端必须使用偏移参数在多个链式请求中检索数据(请参阅上述参考中的详细信息)。

您可以使用参数获得有关查询覆盖多少实体的提示details,例如:

POST http://orion.lab.fi-ware.eu:1026/ngsi10/queryContext?details=on
...
"errorCode": {
   "code": "200",
   "details": "Count: 2342",
   "reasonPhrase": "OK"
}
于 2014-07-07T09:35:30.990 回答