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 Risposta
1
Risposta accettata

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
con risposta 25 giorni fa
profile picture
ESPERTO
verificato 25 giorni fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande