问题描述
我收到以下提到的 CF 的语法错误
CMP:
Type: AWS::CloudWatch::Compositealarm
DependsOn:
- QueueUploadWorkerpproximateNumberOfMessagesVisible
- QueueDataWorkerApproximateAgeOfOldestMessage
Properties:
AlarmName: CMP
AlarmDescription: Compositealarm
AlarmRule: (ALARM([!Ref 'ALARM1']) AND ALARM([!Ref 'ALARM2']))
AlarmActions:
- !Ref SNSTOPIC
资源处理程序返回消息:“AlarmRule 中的错误 [Unsupported token ''Alarms1']' at char 13,must be: ')'](服务:AmazonCloudWatch;状态代码:400;错误代码:ValidationError;请求 ID: 726ebbbd-2e30-447e-9944-4d72d9b63f2c;代理:null)”(RequestToken:92f75190-0b7e-e6f5-f5c0-d18377a82c4c,HandlerErrorCode:InvalidRequest)
解决方法
您可以使用 Sub 来引用您的 ALARM1
和 ALARM2
:
AlarmRule: !Sub "(ALARM(['${ALARM1}']) AND ALARM(['${ALARM2}']))"
您必须仔细检查规则的语法,但现在 ALARM1
和 ALARM2
将被正确引用。