微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS Eventbridge 事件未触发 Lambda 函数

如何解决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 举报,一经查实,本站将立刻删除。