jua*_*984 5 fiware-orion fiware
在当前版本的Orion Context Broker,0.23.0中,新增功能之一是它支持根据属性值(NGSI v2)过滤实体.我正在执行GET操作,如http://telefonicaid.github.io/fiware-orion/api/v2/所示,我获得的是整套实体,没有过滤操作.有关如何使用新的REST API NGSI v2的明确示例,请您帮我解决这个问题吗?
非常感谢你提前
NGSIv2 过滤功能基于以下操作:
GET /v2/entities?q=<query_string>
Run Code Online (Sandbox Code Playgroud)
其中指定NGSIv2 规范文档query_string中定义的查询字符串。例如,要获取小于 24、范围在 75 到 90 之间且“正在运行”的所有实体,请使用以下操作:temperaturehumiditystatus
GET /v2/entities?q=temperature<24;humidity==75..90;status=running
Run Code Online (Sandbox Code Playgroud)
scope您还可以使用“传统”NGSIv1、使用负载中的字段进行查询POST /v1/queryContext。相同的查询将通过以下方式完成:
POST /v1/queryContext
{
"entities": [
{
"type": "",
"isPattern": "true",
"id": ".*"
}
],
"restriction": {
"scopes": [
{
"type": "FIWARE::StringQuery",
"value": "q=temperature<24;humidity==75..90;status=running"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
以下链接提供了更多信息。
请注意,某些过滤器(例如大于/小于、范围等)假定属性值本机类型是数字。请考虑到 NGISv1 创建/更新属性的操作始终将值转换为字符串(由于 XML 兼容性,NGSIv2 中不再保留)。因此,如果您需要将属性值存储为数字以应用大于/小于、范围等过滤器,则使用 NGSIv2 操作来创建/更新这些属性。以下文档更详细地解释了该警告。
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |