Azure事件网格-资源写入成功-按电子邮件地址筛选



Azure事件网格用于捕获所有AzureResource Write Success活动。我正在尝试按电子邮件地址筛选用户。

data.clamins.name以类似的方式提供用户名。当尝试data.claims.'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'时,过滤器没有按预期工作。

是否应该有转义符使'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'过滤器工作?

这用于以下标记新创建的资源以删除的用例

  1. 当azure中存在Resource Write Success事件时,事件网格调用azure自动化脚本
  2. 使用过期标记编写标记资源脚本
  3. 第二个脚本负责删除

我认为,在高级过滤中使用这种命名既没有记录也没有记录。它将是一个很好的索赔,例如:

data.claims.schemas_ws200505identity_emailaddress 

其中schemas_ws200505identity_表示http://schemas.xmlsoap.org/ws/2005/05/identity/claims/

无论如何,对于您的解决方案,过滤此属性的位置在订阅处理程序中。下面的代码片段显示了这个例子:

public static async Task Run(JObject eventGridEvent, ILogger log)
{
// ...
var emailaddress = eventGridEvent["data"]?["claims"]?["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]?.Value<string>();
log.LogInformation($"emailaddress = {emailaddress}");
// ...
await Task.CompletedTask;
}

最新更新