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