我们尝试从公共的软件实例中获取bikerenting数据。我们按照API文档中的说明进行了操作
无论我们如何提供“限制”和“抵消”参数,我们都不会超过十个参赛作品。
要重现,您需要一个Fiware帐户。凭借您的凭据,您可以申请令牌
curl -s -d“{\”username \“:\”USERNAME \“,\”password \“:\”PASSWORD \“}” - H“Content-Type:application / json”{{3} }
获得令牌后,您可以查询orion
curl“https://orion.lab.fiware.org/token”-s -S -H“X-Auth-Token:TOKEN”--header'Content-Type:application / json'-header'Accept:application / json'-d '{“entities”:[{“type”:“bikerenting”,“isPattern”:true,“id”:“Tusbic。*”}]}'
这为我们提供了具有以下ID的实体
"id" : "Tusbic.2", "id" : "Tusbic.3", "id" : "Tusbic.4", "id" : "Tusbic.5", "id" : "Tusbic.6", "id" : "Tusbic.7", "id" : "Tusbic.8", "id" : "Tusbic.9", "id" : "Tusbic.10", "id" : "Tusbic.11",
当我们将查询中的id更改为其他值时,例如更改为“Tusbic.12”,我们将获取该实体的数据。这证明了存在的实体多于十个。
有谁知道如何获得适当的分页?
答案 0 :(得分:0)
据我们检查过" Tusbic。*"实体不是由Orion实例在orion.lab.fiware.org本地管理的,而是由在该实例中注册的Context Provider管理的。截至目前,出于性能原因,Orion的CPr转发上限为10(-cprForwardLimit 10
)。
限制已经提高到50,现在看来查询工作正常(最多返回16个实体):
curl 'http://orion.lab.fi-ware.org:1026/ngsi10/queryContext?limit=200&offset=0&details=off' -s -S -H"X-Auth-Token:TOKEN" --header 'Content-Type: application/json' --header 'Accept: application/json' -d ' {"entities":[{"type":"bikerenting","isPattern":"true","id":"Tusbic.*"}]}' | grep Tusbic
"id" : "Tusbic.2",
"id" : "Tusbic.3",
"id" : "Tusbic.4",
"id" : "Tusbic.5",
"id" : "Tusbic.6",
"id" : "Tusbic.7",
"id" : "Tusbic.8",
"id" : "Tusbic.9",
"id" : "Tusbic.10",
"id" : "Tusbic.11",
"id" : "Tusbic.12",
"id" : "Tusbic.13",
"id" : "Tusbic.14",
"id" : "Tusbic.15",
"id" : "Tusbic.16",
"id" : "Tusbic.17",