筛选事件
创建事件订阅时,有三个选项用于筛选:
- 事件类型
- 主题开始值或结束值
- 高级字段和运算符
事件类型筛选
默认情况下,事件源的所有事件类型都会发送到终结点。 可以决定仅将某些事件类型发送到终结点。 例如,您可以收到资源更新的通知,但不会收到其他操作(如删除)的通知。 在这种情况下,按 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"]
}
]
}