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

Azure Automation Runbook通过Webhook触发失败提示参数列表缺少参数

问题根因

Azure Automation Webhook触发Runbook时,会将Webhook名称、请求头、请求体等信息以JSON字符串的形式传入WebhookData参数。你将该参数声明为[object]类型,PowerShell解析传入的JSON内容时,会把JSON外层的{}误识别为脚本块边界,最终触发参数列表缺失的报错。

可行解决方案

按以下步骤修改即可解决问题:

  • 调整Runbook的参数定义,将WebhookData的类型从[object]改为[string],修改后的参数块如下:
Param
(
  [parameter (Mandatory=$false)]
  [string]$WebhookData
)

如果后续需要用到Webhook传递的自定义数据,可以在参数块后新增JSON转换逻辑:

# 按需添加,不需要使用Webhook传参可以忽略这段
if ($WebhookData) {
    $WebhookObj = $WebhookData | ConvertFrom-Json
    # 可通过$WebhookObj.RequestBody获取POST请求传入的请求体内容
}
  • 保存修改后的Runbook,执行发布操作,新代码才会被Webhook调用生效。
  • 如果你完全不需要用到Webhook传递的任何参数,也可以直接删除整个Param参数块,同样能解决参数解析报错问题,且不影响原有停止ACI的逻辑运行。
  • 重新触发Webhook验证,此时任务不会再报参数相关错误。

内容的提问来源于stack exchange,提问作者Michał

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:27:06