AWS EventBridge规则可以针对Kinesis数据流(使用自定义事件,而不是AWS事件)吗?



在EventBridge中,我有一个带有2条规则的事件总线。在Kinesis我有一个数据流。

其中一个规则在CloudWatch中将一个日志组作为目标。第二条规则在kineesis中有一个目标数据流。这个规则有一个角色和一个策略来执行我的数据流上所有需要的操作。

当我去到我的事件总线并使用"Send events"按钮,我在日志组中看到事件,但在我的数据流中没有看到任何事件。在"事件来源"中输入:com.mycompany.poc.eventbusEventBridge→规则→运动流

我没有在Cloud Trail和Cloud Watch中找到任何其他活动。我的事件模式是这样的:

{
"source": ["com.mycompany.poc.eventbus"]
}

有人知道吗?

我找到的解决方案:

EventBridge中的事件只能接受以下字段:Time, Source, Resources, DetailType, Detail, EventBusName, TraceHeader。如果需要传递其他信息,例如分区键,则需要将其包含在Detail字段中。

如果在发送到Kinesis时需要包含分区键,则需要使用Input Transformer来创建适当的结构,并使用Detail字段中的键。

在Detail中包含PartitionKey然后在目标规则中添加:

"InputPath":"$.detail" , "KinesisParameters":{"PartitionKeyPath":"$.detail.PartitionKey"}

最新更新