AWS CloudFormation YAML中Equals条件报错问题咨询
问题解决方法
你遇到的Unresolved resource dependencies错误,核心原因是CloudFormation条件的定义位置不对——Conditions块必须放在模板的顶级层级(和Resources、Parameters同级),不能嵌套在某个资源内部。
你之前的写法里,把IsSydneyRegion条件的定义放错了位置,导致CloudFormation识别不到这个条件,从而抛出依赖未解析的错误。
正确的YAML模板结构应该是这样的:
AWSTemplateFormatVersion: '2010-09-09' # 条件定义在顶级层级 Conditions: IsSydneyRegion: !Equals - !Ref AWS::Region - "ap-southeast-2" Resources: EventRule: Type: AWS::Events::Rule Condition: IsSydneyRegion Properties: # 填入你的规则参数,示例如下 Name: SydneyOnlyEventRule ScheduleExpression: 'rate(10 minutes)' State: ENABLED Targets: - Arn: !Ref YourTargetResourceArn Id: TargetId1
不管你用!Equals的多行写法,还是数组紧凑写法(!Equals ["ap-southeast-2", !Ref AWS::Region]),只要把条件放在顶级Conditions块里,就能正常生效,只会在ap-southeast-2区域创建这条EventBridge规则。
内容的提问来源于stack exchange,提问作者Mike Z
相关产品推荐
相关产品推荐

