Search code examples
amazon-web-serviceseventsfilterpipelineaws-event-bridge

AWS EventBridge Pipeline - Self Managed Kafka filter not working


I have event coming from self-managed kafka in following format:

{
  "topic":"aaa",
  "partition":16,
  "offset":108687,
  "timestamp":1721654305109,
  "timestampType":"CREATE_TIME",
  "key":"MzM4NjU5ODAwOA==",
  "value":"eyJldmVudElkIjoiMzA4NjMwZGQtMzFmZi00OWQ0LWI4YTEtNGU1NzBiOGE0YTQwIiwiZXZlbnRUeXBlIjoiT1JERVJfUkVBRFlfRk9SX0ZVTEZJTExNRU5UIiwiZXZlbnREYXRlIjoiMjAyNC0wNy0yMlQxMzoxODoyNC42MzNaIn0=",
  "headers":[]},
  "bootstrapServers":"aaa",
  "eventSource":
  "SelfManagedKafka",
  "eventSourceKey":"aaa"
}

And filter:

{
  "value.detailType":["ORDER_READY_FOR_FULFILLMENT"]
}

The filter is not passing my event and I receive none. What can be an issue here?


Solution

  • Since your base64-encoded JSON object in value is:

    {
      "eventId": "308630dd-31ff-49d4-b8a1-4e570b8a4a40",
      "eventType": "ORDER_READY_FOR_FULFILLMENT",
      "eventDate": "2024-07-22T13:18:24.633Z"
    }
    

    the filter criteria should be:

      {
        "value": {
           "eventType": ["ORDER_READY_FOR_FULFILLMENT"]
        }
      }
    

    (typing this from mobile phone without validation, so please play with it. Please also see Pipes filtering for details.