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'
过滤器工作?
这用于以下标记新创建的资源以删除的用例
- 当azure中存在
Resource Write Success
事件时,事件网格调用azure自动化脚本 - 使用过期标记编写标记资源脚本
- 第二个脚本负责删除
我认为,在高级过滤中使用这种命名既没有记录也没有记录。它将是一个很好的索赔,例如:
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;
}