如何解决AWS Eventbridge 事件未触发 Lambda 函数
我已经实现了 AWS Eventbridge 规则和 Lambda 函数的基本组合作为其目标。该规则假设基于所有 AWS AutoScaling 事件创建一个事件并调用 Lambda。 这在触发现有 ASG 的扩展操作时效果很好,但在创建具有相同前缀的新 ASG 时,规则没有反应。 旧 ASG 名称:test-asg-lc-123 新的 ASG 名称:test-asg-lc-124
甚至可以使用通配符吗?
"detail": {
"AutoScalingGroupName": [
"test-asg-lc-*"
]
},"detail-type": [
"EC2 Instance Launch Successful","EC2 Instance Terminate Successful","EC2 Instance Launch Unsuccessful","EC2 Instance Terminate Unsuccessful","EC2 Instance-launch Lifecycle Action","EC2 Instance-terminate Lifecycle Action","EC2 Auto Scaling Instance Refresh Checkpoint Reached"
],"source": [
"aws.autoscaling"
]
}
解决方法
在这种情况下,似乎不支持通配符。 AWS 文档中提到了 The matching is exact (character-by-character),without case-folding or any other string normalization.
,但文档中没有提到 * 或通配符。
参考:https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-structure.html
您可以遵循本文档中提到的前缀匹配https://docs.aws.amazon.com/eventbridge/latest/userguide/content-filtering-with-event-patterns.html#filtering-prefix-matching
,基于@Husyns 的回答,非常感谢他,我想分享一个有一些限制的可行解决方案(有哪些限制,请查看 Husyns 回答下方的评论)。
{
"detail-type": [
"EC2 Instance Launch Successful","EC2 Instance Terminate Successful"
],"detail": {
"AutoScalingGroupName": [
{
"prefix": "test-asg-lc-"
}
]
},"source": [
"aws.autoscaling"
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。