AWS事件桥接规则出现问题

15
我想将发送到自定义事件总线的所有事件发送到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"
     }
  ]

但是,如果我将源更改为其他内容,例如“你好”,那么在规则和事件中使用它都可以正常工作。

我做错了什么? 我想让它与aws.events一起工作,这样发送到此总线的所有事件都会以CloudWatch(目标)结束。

1个回答

30

aws.events 属于 AWS,而不是你,因此你不能将其定义为事件源。只有 AWS 可以这样做。

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


1
一如既往,你完全正确。谢谢,Marcin。在重新阅读文档并经过你的审查后,这确实是有道理的。 - Peter
@Peter 谢谢。没问题。很高兴能帮到你。 - Marcin
请问能分享一下相关文档的链接吗?您在哪里看到了它? - Geeky Builder

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