【问题标题】:AWS Eventbridge: Pattern to capture ALL eventsAWS Eventbridge:捕获所有事件的模式
【发布时间】:2021-04-20 07:02:32
【问题描述】:

我想在 Eventbridge 中部署一个 AWS 事件规则,它由所有事件触发,没有任何过滤。

我尝试了以下模式,但没有成功。

{
source: ["*"]
}

根据文档,您不能将模式留空。此外,模式中未包含的任何字段都是通配符,这意味着它们可以是任何值。

我读过文章说 Eventbridge 可以替代 SNS 和 SQS 等服务,但如果没有这些更精细的控制,我认为不会发生这种情况。

谢谢

【问题讨论】:

  • "source": [{"prefix": "" }] 呢?
  • 我试试这个!看起来很有希望!
  • @Marcin,使用内容过滤器的空源前缀有效。谢谢!
  • 很高兴听到。如果您不介意将来参考,我会回答。

标签: amazon-web-services serverless serverless-architecture amazon-cloudwatch-events


【解决方案1】:

基于 cmets。

解决方案是使用空的prefix 来匹配所有事件:

{
"source": [{"prefix": "" }]
}

【讨论】:

  • 这个 JSON 不适合我,但这个 JSON 可以:{"source": [{"prefix": ""}]}
  • @SunnyPatel 谢谢。我看到缺少引号。我会更新答案。
  • @Marcin,有没有办法让它与 CDK 一起工作?在 CDK 中,resourcestring[]。所以这行不通,因为{prefix: string} is not assignable to type string
  • @chepukha 如果您查看 Tim Bray 的版本 0 答案似乎对 CDK 很有效。
【解决方案2】:

您可以尝试使用exists过滤器:https://docs.aws.amazon.com/eventbridge/latest/userguide/content-filtering-with-event-patterns.html#filtering-exists-matching

使用它的一个警告是它在 CloudFormation 中定义时不能正常工作,但至少它在 SDK 和控制台中工作。

【讨论】:

    【解决方案3】:

    我最喜欢的是 { "version": ["0"] }

    【讨论】:

      猜你喜欢
      • 2023-01-28
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 2019-05-27
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多