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

CloudFormation部署AWS Dashboard报InvalidParameterInput错误如何解决

AWS CloudFormation Dashboard部署InvalidParameterInput错误排查

核心问题根因

报错指向DashboardBody字段不是合法JSON,结合你提供的代码片段,可按以下优先级排查问题:

  • 代码片段中JSON结构未闭合:当前代码只写了widgets数组的第一个元素,缺少数组闭合符]和整个JSON对象的闭合符},如果实际部署的代码也遗漏这两个符号,会直接解析失败。
  • 存在多余尾随逗号:如果当前是唯一的widget,你代码中widget结束的}后面额外加了逗号,JSON规范不允许数组最后一个元素后带尾随逗号,也会触发语法错误。
  • 变量替换异常:检查模板中是否已定义${Env}和${AwsRegion}两个参数/变量,若变量不存在、值为空,或者值包含双引号等特殊字符,会破坏JSON结构。
  • 转义字符冲突:如果后续新增的widget包含单引号,在!Sub包裹的内容中需要对单引号做转义处理。

正确写法参考

推荐使用YAML多行字符串符|优化格式可读性,避免换行符导致的JSON解析问题:

AWSDashboard:
    Type: AWS::CloudWatch::Dashboard
    Properties:
      DashboardName: !Sub "awsdashboard"
      DashboardBody: !Sub |
        {
          "widgets": [
            {
                "height": 6,
                "width": 6,
                "y": 0,
                "x": 9,
                "type": "metric",
                "properties": {
                    "view": "timeSeries",
                    "stacked": false,
                    "metrics": [
                        [ "AWS/S3", "BucketSizeBytes", "StorageType", "StandardStorage", "BucketName", "abc-${Env}-abc-${AwsRegion}", { "period": 86400 } ],
                        [ ".", "NumberOfObjects", ".", "AllStorageTypes", ".", ".", { "period": 86400 } ]
                    ],
                    "region": "${AwsRegion}",
                    "title": "abc-s3-bktsz-numrofobjects",
                    "period": 300
                }
            }
          ]
        }

验证方法

部署前可先把变量替换后的DashboardBody内容复制到本地JSON校验工具检查语法,确认无错误后再提交部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:03:03