Skip To Content

属性过滤器

GeoEvent 服务中的属性过滤器用于根据属性条件过滤事件。可通过一个或多个属性表达式配置属性过滤器。这些表达式的逻辑组合构成了过滤条件,只有满足这些条件的 GeoEvent 才可通过过滤器。

支持以下属性运算符:

  • 等于 (=) - 该运算符保留属性值等于指定值的 GeoEvent。例如,IdString = 3XAB891
  • 不等于 (!=) - 该运算符保留属性值不等于指定值的 GeoEvent。例如,StatusString != Err
    注:

    不应将等于 (=) 和不等于 (!=) 运算符应用于浮点值。例如,请勿配置半径 = 3.14159 这样的过滤器表达式,而是使用大于 (>)、小于 (<) 或其他运算符。

  • 大于 (>) - 该运算符保留属性值大于指定值的 GeoEvent。例如,Speed > 50
  • 大于或等于 (>=) - 该运算符保留属性值大于或等于指定值的 GeoEvent。例如,Speed >= 50
  • 小于 (<) - 该运算符保留属性值小于指定值的 GeoEvent。例如,高度 < 1000
  • 小于或等于 (<=) - 该运算符保留属性值小于或等于指定值的 GeoEvent。例如,高度 <= 1000
    注:

    不应将大于 (>)、小于 (<) 和其他运算符应用于字符串值。例如,请勿配置公司 > ABC 这样的过滤器表达式,而是使用等于 (=) 或不等于 (!=) 运算符并将整个字符串包含在表达式中。

  • IN - 当逗号分隔的值列表中存在指定字段的值时,该运算符保留 GeoEvent。例如,StatusCode IN HK1,HK3,HK5
  • MATCHES - 当指定字段的值与正则表达式相匹配时,该运算符保留 GeoEvent。例如,StatusCode MATCHES ^HK[135]

    注:

    评估指定的正则表达式是否匹配整个事件字段值;不支持部分匹配。在上述示例中,如果 StatusCode 包含超出单个数字的额外字符,那么表达式需要包含 .* 以匹配属性值中的任何尾随字符。

  • EXISTS - 当收到的事件方案中存在指定字段时,该运算符保留 GeoEvent。例如,几何 EXISTS
  • ISNULL - 当指定字段包含空值时,该运算符保留 GeoEvent。例如,几何 ISNULL
注:

字符串属性值可以为空值或为空。长度为零的字符串将定义为空字符串。未定义值的字符串对象为空字符串。可以使用 ISNULL 运算符来测试字符串是否为空值。可以将 MATCHES 运算符与正则表达式 ^$ 配合使用来测试字符串是否为长度为零(或空)的字符串。