是的,可以通过在事件中添加标记(tags)来将它们传递到EventBridge Rule的规则模式(rule pattern)或输出。以下是一个示例的CloudFormation模板,它创建一个有标记(tags)的EC2实例和一个EventBridge Rule,该规则匹配由该实例上的标记引发的事件:
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-xxxxxx
InstanceType: t2.micro
Tags:
- Key: MyTagKey
Value: MyTagValue
MyEventPattern:
Type: AWS::Events::Rule
Properties:
EventPattern:
source:
- aws.ec2
detail-type:
- EC2 Instance State-change Notification
detail:
state:
- running
resources:
- !Sub 'arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:instance/${MyInstance}'
tags:
MyTagKey:
- MyTagValue
Targets:
- Arn:
Id:
在上面的示例中,MyInstance资源是一个EC2实例,它有一个标签(tag),即“MyTagKey : MyTagValue”。然后,MyEventPattern资源是一个EventBridge Rule,它的规则模式(rule pattern)和筛选器(filter)匹配EC2实例状态更改事件,并检查标记(tags)以确定事件应该被路由到什么位置。如果事件与规则匹配,则目标(target)将接收到事件的通知。
注意,上面的示例使用了“!Sub”函数来动态计算实例ARN。这是因为在CloudFormation中,ARNs需要在运行时计算,因为它们依赖于AWS帐户ID和区域名称。如果您手动创建资源,则可以将ARN设置为硬