Desidero configurare la seguente configurazione evento/notifica in un bucket AWS S3: Al ricevimento di un file (s3: ObjectCreated: *), devono essere attivati due target:AWS S3: attivazione di più destinazioni tramite S3 Notifica al ricevimento file
- SQS: per mettere in coda il file per l'elaborazione dettagliata carica per un periodo di conservazione per un paio di giorni
- Lambda: per fare qualche rapida trasformazione metriche immediati
Quando provo a impostare la configurazione tramite la console AWS il seguente messaggio di errore:
Configurations overlap. Configurations on the same bucket cannot share a common event type. : s3:ObjectCreated:*, s3:ObjectCreated:*
ho cercato di impostare la configurazione tramite AWS SDK (Java) come proposto dal manuale d'uso, ma risultato simile:
Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.
Error Message: Configurations overlap. Configurations on the same bucket cannot share a common event type. (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: A0E8738522EA218F)
HTTP Status Code: 400
AWS Error Code: InvalidArgument
Error Type: Client
Request ID: A0E8738522EA218F
Error XML<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidArgument</Code><Message>Configurations overlap. Configurations on the same bucket cannot share a common event type.</Message><ArgumentName>Event</ArgumentName><ArgumentValue>s3:ObjectCreated:*, s3:ObjectCreated:*</ArgumentValue><RequestId>A0E8738522EA218F</RequestId><HostId>p4qYoIXi38u3Jl3p0xpI7TFWgs0ZxsqK89oDTTy8D/tbw39NnaIT99jIvHIxt4XliRFxqNWl32M=</HostId></Error>
Giusto, SNS ha risolto il problema. Ho aggiunto l'autorizzazione "SNS: Pubblica" all'argomento SNS e ho configurato la mia coda SQS e la mia funzione Lambda come sottoscrittori dell'argomento SNS. Nella funzione Lambda posso decomprimere S3Object che contiene buckt, path, ecc. E quindi scaricare il file da S3 ed elaborarlo. –