Event Bridge rule match on two specific directories from the same S3 Bucket

0

I want an Event Bridge rule to match on two different directories (prefixes) of the same S3 Bucket when a file is uploaded to any of the directories.

If I put two prefix objects under detail.object.key the rule only matches on the last one, as per the event pattern below:

{ 
  "source": ["aws.s3"],
  "detail-type": ["Object Created"],
  "detail": { 
    "bucket": { "name": ["some-bucket"] },
    "object": {
      "key": [
        { "prefix": "some-prefix/" },
        { "prefix": "some-other-prefix/" }
      ] 
    } 
  } 
}

The documentation is unclear about how to accomplish this.

1 Resposta
1
Resposta aceita

I found a way to do it using Content-based filtering with $or matching.

https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns-content-based-filtering.html#eb-filtering-complex-example-or

Documentation is still unclear about the specific use case but after a couple of trials and errors I got it working by declaring the event pattern like this:

{
  "source": ["aws.s3"],
  "detail-type": ["Object Created"],
  "detail": {
    "bucket": {
      "name": ["some-bucket"]
    },
    "$or": [
      {
        "object": {
          "key": [{
            "prefix": "some-prefix/"
          }]
        }
      },
      {
        "object": {
          "key": [{
            "prefix": "some-other-prefix/"
          }]
        }
      }
    ]
  }
}

Hope it helps!

profile picture
jigle
respondido há um mês
profile picture
ESPECIALISTA
avaliado há um mês

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas