aws.events 的 EventBridge 规则问题

Issue with EventBridge rule for aws.events

我想将发送到自定义事件总线的所有事件发送到 CloudWatch 日志。

我创建了自定义事件总线:my-event-bus

我创建了 CloudWatch 日志组

我创建了事件总线策略,这样我帐户内的每个人都可以将事件放入 my-event-bus

我为该自定义总线创建了规则

这是规则:

  MyRuleForBus:
    Type: AWS::Events::Rule
    Properties:
      Description: Testing rule
      EventBusName: 
      Name: testing-rule-for-my-event-bus
      EventPattern:
        source:
          - aws.events
      State: ENABLED
      Targets:
        - Arn: arn:aws:logs:us-east-1:MY_ACCOUNT_ID:log-group:my-event-bus-log-group
          Id: 'my-bus'

当我尝试放置事件时 aws events put-events --entries file://put-events.json

我收到以下错误

{
    "FailedEntryCount": 1,
    "Entries": [
        {
            "ErrorCode": "NotAuthorizedForSourceException",
            "ErrorMessage": "Not authorized for the source."
        }
    ]
}

这是put-events.json

的内容
[
    {
      "Source": "aws.events",
      "EventBusName": "my-event-bus",
      "Detail": "{ \"key1\": \"value3\", \"key2\": \"value4\" }",
      "Resources": [
        "resource1",
        "resource2"
      ],
      "DetailType": "myDetailType"
     }
  ]

但是,如果我将源更改为其他来源,例如 'hello',则规则和事件都有效。

我做错了什么? 我想让它与 aws.events 一起使用,以便发送到此总线的所有事件都在 CloudWatch(目标)

中结束

aws.events 属于 AWS,不属于您,因此您不能将其定义为您的事件源。只有 AWS 可以做到。

您需要使用自己的自定义名称 作为事件来源,例如myapp.events.