Skip to content

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' &amp;order=name&amp;limit=10&amp;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