You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从发送至Function App的Azure Alert中访问自定义属性

在PowerShell Function App中访问Azure警报的自定义属性与Webhook属性

一、访问警报规则的customProperties

使用Azure Monitor通用警报架构(azureMonitorCommonAlertSchema)时,警报规则的customProperties直接嵌套在$actionGroup.Body.Data对象下,可通过以下方式访问:

# 获取全部自定义属性
$customProps = $actionGroup.Body.Data.customProperties

# 访问单个自定义属性(假设属性名为"myCustomKey")
$targetProp = $actionGroup.Body.Data.customProperties.myCustomKey

如果需要遍历所有自定义属性,可使用循环:

foreach ($prop in $customProps.PSObject.Properties) {
    Write-Host "属性名: $($prop.Name), 属性值: $($prop.Value)"
}

二、获取Action Group的webhookProperties

你在警报规则JSON中看到的webhookProperties会作为顶级属性直接附加到请求Body中,无需从Data节点下查找,在PowerShell Function App中可这样获取:

# 获取全部webhook属性
$webhookProps = $actionGroup.Body.webhookProperties

# 访问示例中的单个属性
$fooValue = $actionGroup.Body.webhookProperties.foo
$barValue = $actionGroup.Body.webhookProperties.bar

遍历所有webhook属性的写法:

foreach ($prop in $webhookProps.PSObject.Properties) {
    Write-Host "Webhook属性名: $($prop.Name), 属性值: $($prop.Value)"
}

结构验证参考

结合你提供的配置,警报触发后Function App收到的请求Body简化结构如下:

{
  "Data": {
    "customProperties": { /* 警报规则自定义属性内容 */ },
    /* 其他核心警报数据 */
  },
  "webhookProperties": {
    "foo": "bar",
    "bar": "foo"
  },
  /* 通用架构其他字段 */
}

内容的提问来源于stack exchange,提问作者michiel Thai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:13:18