Amazon cloudformation 在Dashboard Cloudwatch中使用Fn::ImportValue

Amazon cloudformation 在Dashboard Cloudwatch中使用Fn::ImportValue,amazon-cloudformation,Amazon Cloudformation,我正在尝试在Cloudformation中设置仪表板,并希望使用导出的值使其具有动态性:但它没有说明: 仪表板正文无效,存在1个验证错误:[{“消息”:“无效的度量字段类型,只允许使用\“字符串\”类型”,“数据路径”:“/widgets/0/properties/metrics/0/3”}](服务:AmazonCloudWatch;状态代码:400;错误代码:InvalidParameterInput;请求ID:01f3ebfa-d856-11e8-a2dc-dd8c90ad1109) 代码是

我正在尝试在Cloudformation中设置仪表板,并希望使用导出的值使其具有动态性:但它没有说明:

仪表板正文无效,存在1个验证错误:[{“消息”:“无效的度量字段类型,只允许使用\“字符串\”类型”,“数据路径”:“/widgets/0/properties/metrics/0/3”}](服务:AmazonCloudWatch;状态代码:400;错误代码:InvalidParameterInput;请求ID:01f3ebfa-d856-11e8-a2dc-dd8c90ad1109)

代码是:

Resources:
 NATDashboard:
 Type: AWS::CloudWatch::Dashboard
 Properties:
  DashboardName: NAT-Dashboard
  DashboardBody: !Sub |
    {
        "widgets": [
            {
                "type": "metric",
                "x": 0,
                "y": 0,
                "width": 3,
                "height": 9,
                "properties": {
                    "metrics": [
                        [ "AWS/NATGateway", "ActiveConnectionCount", "NatGatewayId", {"Fn::ImportValue": {"Fn::Sub": "${EnvironmentName}-NATGateway1Id"}}, { "stat": "Maximum" } ],
                        [ "...", "nat-057236a417c993781", { "stat": "Maximum" } ],
                        [ "...", "nat-09b8d012addc7e0fe", { "stat": "Maximum" } ]
                    ],
                    "view": "singleValue",
                    "region": "${AWS::Region}"
                }
            },
在我介绍Fn::ImportValue之前,它一直有效;是否有机会在此处使用导出的值


Merci A是一个字符串,是
的缩写形式(没有映射)!Sub
将显示。如果要使用
Fn::ImportValue
函数,必须使用键值映射语法:

资源:
NATDashboard:
类型:“AWS::CloudWatch::Dashboard”
特性:
仪表板名称:“NAT仪表板”
仪表板主体:!附属的
- |
{
“小部件”:[
{
“类型”:“公制”,
“x”:0,
“y”:0,
“宽度”:3,
“高度”:9,
“财产”:{
“指标”:[
[“AWS/NATGateway”、“ActiveConnectionCount”、“NatGatewayId”、“${NatGatewayId}”、{“stat”:“Maximum”}],
[“…”、“nat-057236a417c993781”、{“统计”:“最大值”}],
[“…”,“nat-09b8d012addc7e0fe”,{“统计”:“最大值”}]
],
“视图”:“单值”,
“区域”:“${AWS::region}”
}
}
]
}
-NatGatewayId:
'Fn::ImportValue':!子“${EnvironmentName}-NATGateway1Id”

非常感谢,但它不起作用;它说:
模板格式错误:YAML格式不正确。(第58行,第29列)
@aerioeus你能再试一次吗?我试过了,得到了这个错误:
字段仪表板主体必须是一个有效的JSON对象(服务:AmazonCloudWatch;状态代码:400;错误代码:InvalidParameterInput;请求ID:760f3b72-d86b-11e8-b43c-4f900131ef47)
发现错误:它必须是
“AWS/NATGateway”,“ActiveConnectionCount”,“NatGatewayId”,“${NatGatewayId}”,{“stat”:“Maximum”}]
-NatGatewayId:Fn::ImportValue:!子“${EnvironmentName}-NATGateway1Id”
将${NatGatewayId}括在引号中以使其成为有效的JSON是有意义的。我用这个更新了答案。谢谢