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

调用CloudWatch get-metric-data报错:已传MetricDataQueries仍提示必填

问题原因及解决方案

错误根源

你在CLI命令里同时使用了两种冲突的参数传递方式:

  • 命令行中写了--metric-data-queries但未提供任何取值,AWS CLI会判定该参数缺失必要内容
  • 同时又通过--cli-input-json传入包含MetricDataQueries的JSON文件,两种方式传递同一参数会导致CLI解析混乱,最终触发"MetricDataQueries参数必填"的错误

另外,你命令行和JSON里的时间格式2023-06-13T00:00:0000不符合ISO 8601标准,正确格式应为2023-06-13T00:00:00Z(带时区)或2023-06-13T00:00:00,这个问题虽不是当前报错的直接原因,但后续可能引发其他验证错误,建议一并修正。

解决办法

方法一:统一用JSON文件传递所有参数(推荐)

移除命令行中重复的--metric-data-queries、--start-time、--end-time参数,仅保留--cli-input-json和--region:

aws cloudwatch get-metric-data --cli-input-json file://metric-data-query.json --region us-east-2

同时修正JSON文件里的时间格式,并补充MetricStat缺失的必填参数:

{
    "MetricDataQueries": [
        {
            "Id": "myRequest",
            "MetricStat": {
                "Metric": {
                    "Namespace": "AWS/Lambda",
                    "MetricName": "Errors",
                    "Dimensions": [
                        {
                            "FunctionName": "my-func-name-here"
                        }
                    ]
                },
                "Period": 300,
                "Stat": "Sum"
            },
            "Label": "myRequestLabel",
            "ReturnData": true
        }
    ],
    "StartTime": "2023-06-13T00:00:00Z",
    "EndTime": "2023-06-13T23:59:59Z"
}

方法二:混合传参(不推荐)

若一定要在命令行传递部分参数,需移除JSON里的重复参数,并给--metric-data-queries正确赋值:

aws cloudwatch get-metric-data --metric-data-queries '[{"Id": "myRequest", "MetricStat": {"Metric": {"Namespace": "AWS/Lambda", "MetricName": "Errors", "Dimensions": [{"FunctionName": "my-func-name-here"}]}, "Period": 300, "Stat": "Sum"}, "Label": "myRequestLabel", "ReturnData": true}]' --start-time 2023-06-13T00:00:00Z --end-time 2023-06-13T23:59:59Z --region us-east-2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:04:55