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

PowerShell使用Invoke-RestMethod发送消息至AppDynamics报400错误

AppDynamics PowerShell 提交事件400错误修复方案

问题根因

你收到的400报错是接口参数校验失败直接抛出的,核心原因有两个:

  • 你当前构造的JSON请求体混杂了Microsoft Teams消息卡片的专属字段(@context、@type、title、text),这些字段不属于AppDynamics事件接口的合法参数,会被接口直接忽略
  • AppDynamics的/events接口提交CUSTOM类型事件时,summary(事件概要)是必填参数,你的请求体里完全没有传这个字段,直接触发了参数缺失报错

修复步骤

  1. 清理请求体里不属于AppDynamics接口的无效字段
  2. 补上必填的summary字段,填入事件的概要描述内容
  3. 按需补充可选的事件级别、自定义属性等字段

修正后的可运行代码

$JSONBody = @{
    # 固定标识自定义事件类型
    'eventtype'='CUSTOM'
    # 自定义事件分类名
    'customeventtype'='appDcustomevent'
    # 补全接口必填的事件概要字段,替换成你实际的事件描述
    'summary'='Incoming Alert Test Message: xyz'
    # 可选:指定事件严重级别,支持INFO/WARN/ERROR,默认值为INFO
    'severity'='WARN'
}

$json = ConvertTo-Json $JSONBody -Depth 100
$headers = @{
    Authorization='Basic '+[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes('username@account:password'))
}
$response = Invoke-RestMethod -Uri 'https://<你的AppDynamics REST API地址>/events' -Proxy 'proxy url:80' -Method Post -Headers $headers -Body $json -ContentType 'application/json'

额外校验点

  • 执行请求前可以先输出$json变量,确认生成的JSON结构包含summary字段,无多余无效字段
  • 如果修复参数后仍返回权限错误,确认基础认证的账号格式用户名@租户名:密码拼写正确,且账号拥有对应应用的事件写入权限
  • 如果你的接口是应用维度的事件上报,需要在URI末尾拼接?applicationid=<你的应用ID>参数,否则接口可能无法定位事件归属的应用

内容的提问来源于stack exchange,提问作者Usha Ramani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:48:20