如何借助Microsoft Graph API合作伙伴主题仅捕获用户邮箱变更事件?
Microsoft Graph Event Grid合作伙伴主题:邮箱变更事件筛选与字段捕获指南
为什么data.state:*筛选没结果?
用户邮箱变更对应的Event Grid事件类型是Microsoft.Graph.UserUpdated,但这个事件的data结构里根本不存在state字段,你选的筛选路径本身就不对。
要精准捕获邮箱变更,得从两个维度设置筛选:
- 先锁定事件类型:筛选条件设为
type eq 'Microsoft.Graph.UserUpdated' - 再匹配邮箱属性的变更:用户更新事件的属性变更都存在
data.changes数组中,所以要加筛选规则data.changes[*].field eq 'mail'——这个规则会匹配数组中任何一个字段为mail的变更项,只要邮箱地址被修改,就会触发事件推送。
能不能捕获oldValue和newValue?
完全可以。只要是属性变更触发的Microsoft.Graph.UserUpdated事件,data.changes数组里的每个变更条目都会包含field(变更的属性名)、oldValue(变更前的值)和newValue(变更后的值)三个字段,不需要额外配置,这些数据会直接出现在事件payload里。
最终配置步骤
- 给合作伙伴主题添加第一条筛选规则:
type等于Microsoft.Graph.UserUpdated - 添加第二条筛选规则:
data.changes[*].field等于mail - 保存后,只有用户邮箱地址变更的事件会被推送到你的接收端点,同时你能在事件数据里拿到邮箱的新旧值。
内容的提问来源于stack exchange,提问作者AnalyzingTasks
相关产品推荐
相关产品推荐

