I'm trying to create a Lambda Event Filter but got stuck on how to do this. I'd like to filter by the content of the body of the message. The problem is: this content is inside an array. Here is an exemple of what I'm trying to do:
The body of the message:
{
"infoA": "foo",
"infoB": [
{
"infoC": "bar",
"infoD": "someStuff"
}
]
}
So I'd like to apply a filter for that lambda execute only when 'infoC' == 'bar'
(my infoB
list will always have only one item). My lambda is subscribed to a SQS, so this is why my filter starts with body
key.
I've already tried the following filter patterns, without success:
{"body": {"infoB": {"infoC": ["bar"]} } }
{"body": {"infoB": [{"infoC": ["bar"]}] } }
None of this actually worked. On the AWS Lambda documentation, I didn't find information about this kind of filtering (a list inside the body of the message).
I found here that it is possible to filter if any object of the list that has "infoC" = "bar". That would work for me, but didn't find the documentation that explains this any
filter
Why not send the events to event bridge and parse it out through rules?