事件总线(Eventbridge):无法在自定义事件总线上接收消息?

5
我正在使用AWS Eventbridge,我的默认总线和自定义总线上有完全相同的规则。两者的目标都是SQS队列。当我推送事件时,我可以在我的默认总线规则的目标队列上看到一条消息。
但我在自定义总线规则的队列上没有看到任何内容。同时指标也没有显示调用。我做错了什么?我已经创建了一个自定义总线。
我尝试过没有任何策略以及使用以下策略。
{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "allow_account_to_put_events",
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::my-account:root"
    },
    "Action": "events:PutEvents",
    "Resource": "arn:aws:events:xxx:my-account:event-bus/my-bus-name"
  }]
}

我的事件模式:

  {
    "source": [
      "aws.ssm"
    ],
    "detail-type": [
      "Parameter Store Change"
    ],
    "detail": {
      "name": [
        "someparam"
      ],
      "operation": [
        "Update"
      ]
    }
  }

你确定自定义总线上的规则是正确的并且可以检测到你的事件吗? - Marcin
是的,我也添加了事件模式,并且它们都在使用相同的。 - DenCowboy
1个回答

6
您的自定义总线将不会接收任何"aws.ssm"事件。所有aws.*事件都将发送到默认总线。自定义总线只能接收来自应用程序的自定义事件,例如:
    "source": [
      "myapp.test"
    ]

来自文档

当您的AWS帐户中的服务发出事件时,它会发送到您帐户的默认事件总线。


那我怎样才能传递某个资源/参数的SSM更新呢? - DenCowboy
@DenCowboy 带到哪里?带到 sqs 吗? - Marcin
转到自定义总线。我想要一个自定义总线,因为我需要一些特殊的策略,我不想把它放在默认总线上。 - DenCowboy
@DenCowboy 默认总线上的目标可以是自定义总线。因此,您可以尝试这样做。对于更复杂的过滤,您需要首先使用 lambda 作为目标,然后将事件从 lambda 发布到自定义总线。 - Marcin
1
谢谢,我将从我的 Lambda 发布一个自定义事件到总线上。 - DenCowboy
谢谢,让我花了几个小时想为什么事件没有被触发... 我觉得 AWS 在创建自定义事件总线下的规则时应该禁用 AWS 服务事件源... - daisura99

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接