IoT File Service - 过滤
搜索过滤器运算符
过滤器子句中可以使用以下运算符:
eq
或=
gte
或>=
gt
或>
lte
或<=
lt
或<
过滤器支持通配符 *
,并且可以与运算符 and
结合使用(不支持 or
)。如果空白的位置不正确或者参数无效,过滤器将被忽略。可以基于以下字段进行过滤:
- 文件更新时间戳
- 文件路径
- 文件名
说明
时间戳采用 UTC 时区,以 ISO 8601 格式存储为字符串。这意味着,为了找到时间戳为“2017-09-21T14:08:22.345+02:00”的实体,必须搜索“2017-09-21T12:08:22.345Z”。
可以使用 order
参数对过滤器请求的结果集进行排序。按名称排序时,结果也会按路径自动排序。每个请求只允许基于一个属性进行排序,仅可基于以下属性排序:
- 文件更新时间戳
- 文件路径
- 文件名
默认情况下,请求获取文件列表的 GET 请求最多仅返回前 500 个文件。使用 GET 请求的查询字符串中的 offset
参数来调整列表的起始文件。使用 limit
参数调整要返回的文件数量。 请注意,offset
参数的上限为 10,000。建议优化搜索,尽量保证返回的是小结果集。
搜索过滤器语法
下表列出了每个运算符的搜索过滤器语法示例:
运算符 | 描述 | 示例(未编码) |
---|---|---|
eq | 等于指定值 | path eq 'my/path*' |
lt | 小于指定值 | updated lt '2018-07-27T17:05:31.208Z' |
gt | 大于指定值 | updated gt '2018-07-27T17:05:31.208Z' |
lte | 小于或等于指定值 | updated lte '2018-07-27T17:05:31.208Z' |
gte | 大于或等于指定值 | updated gte '2018-07-27T17:05:31.208Z' |
and | 结合两个条件 | name eq 'result*.txt' and updated lte '2018-07-23T13:16:07.078Z' |
下表列出了排序语法的示例:
字段 | 描述 | 示例(未编码) |
---|---|---|
名称 | 按文件名排序 | order=name |
路径 | 按文件路径排序 | order=path |
更新时间 | 按更新的时间戳排序 | order=updated |
示例
以下示例包含一个 ID 为 978528e7a124458f87c8f1d38fd9400f
的实体实例。目标是搜索测试结果文件,这些文件按文件名以字母升序进行排序,限制最多返回 10 个结果,偏移量为 1(即从第二个文件开始)。 发出 GET 请求:
https://{host}/api/iotfile/v3/files/978528e7a124458f87c8f1d38fd9400f?filter=name eq 'result*.txt' &order=name&limit=10&offset=1
响应如下:
[
{
"name": "result072108.txt",
"path": "",
"type": "abc",
"description":null,
"size":4,
"timestamp":null,
"created":"2018-09-04T01:55:32.351Z",
"updated":"2018-09-04T01:55:32.351Z",
"createdBy": "f4d5493f-8a1b-421e-9b9c-bb6a963a0837",
"updatedBy": "f4d5493f-8a1b-421e-9b9c-bb6a963a0837",
"tenantId":"8b9ff6977f58459b979a5ae7cf6828bd",
"storagePrefix":null,
"etag":0
},
{
"name": "result082108.txt",
"path": "",
"type": "abc",
"description":null,
"size":4,
"timestamp":null,
"created":"2018-09-04T01:55:38.299Z",
"updated":"2018-09-04T01:55:38.299Z",
"createdBy": "f4d5493f-8a1b-421e-9b9c-bb6a963a0837",
"updatedBy": "f4d5493f-8a1b-421e-9b9c-bb6a963a0837",
"tenantId":"8b9ff6977f58459b979a5ae7cf6828bd",
"storagePrefix":null,
"etag":0
}
]
在此示例中,只有两个条目符合搜索参数。否则将返回最多 10 个条目。
还有问题?
除非另行声明,该网站内容遵循MindSphere开发许可协议.
Last update: June 26, 2019