【问题标题】:Issue with EventBridge rule for aws.eventsaws.events 的 EventBridge 规则问题
【发布时间】:2021-08-10 05:33:44
【问题描述】:

我想将发送到自定义事件总线的所有事件发送到 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 结束(目标)

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatch aws-event-bridge


    【解决方案1】:

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

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

    【讨论】:

    • 一如既往,你是完全正确的。谢谢,马尔辛。重新阅读文档并阅读您的评论后,确实有道理。
    • @Peter 谢谢。没问题。很高兴我能帮上忙。
    猜你喜欢
    • 1970-01-01
    • 2022-01-27
    • 2021-08-06
    • 2021-12-16
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多