筛选事件

已完成

创建事件订阅时,有三个选项用于筛选:

  • 事件类型
  • 主题开始值或结束值
  • 高级字段和运算符

事件类型筛选

默认情况下,事件源的所有事件类型都会发送到终结点。 可以决定仅将某些事件类型发送到终结点。 例如,您可以收到资源更新的通知,但不会收到其他操作(如删除)的通知。 在这种情况下,按 Microsoft.Resources.ResourceWriteSuccess 事件类型进行筛选。 提供包含事件类型的数组,或指定 All 以获取事件源的所有事件类型。

按事件类型筛选的 JSON 语法为:

"filter": {
  "includedEventTypes": [
    "Microsoft.Resources.ResourceWriteFailure",
    "Microsoft.Resources.ResourceWriteSuccess"
  ]
}

主题筛选

对于按主题进行简单筛选,请为主题指定起始值或结束值。 例如,可以指定主题以 .txt 结尾,以便仅获取与将文本文件上传到存储帐户相关的事件。 或者,可以筛选主题以 /blobServices/default/containers/testcontainer 开头,以获取该容器的所有事件,而不是存储帐户中的其他容器。

按主题筛选的 JSON 语法为:

"filter": {
  "subjectBeginsWith": "/blobServices/default/containers/mycontainer/log",
  "subjectEndsWith": ".jpg"
}

高级筛选

若要按数据字段中的值进行筛选并指定比较运算符,请使用高级筛选选项。 在高级筛选中,可以指定:

  • 运算符类型 - 比较类型。
  • 键 - 用于筛选的事件数据中的字段。 可以是数字、布尔值或字符串。
  • 值 - 与密钥相比较的值。

使用高级筛选器的 JSON 语法为:

"filter": {
  "advancedFilters": [
    {
      "operatorType": "NumberGreaterThanOrEquals",
      "key": "Data.Key1",
      "value": 5
    },
    {
      "operatorType": "StringContains",
      "key": "Subject",
      "values": ["container1", "container2"]
    }
  ]
}