SNS not sending message from S3 object creation

0

Some time ago I created a topic and an S3 event notification. I then confirmed an HTTPS endpoint, and subscribed my email as well. This is all working fine.

I recently added another event notification in S3, from the same bucket but with a different prefix and no suffix. When I save the new event notification I can see a test event notification is published and it's hitting the server endpoint and I am receiving the email. However I do not receive object creation events for this new event notification!

Is it possible to have multiple event notifications for the same bucket but with different prefixes posting to the same topic? I would assume so?

I have a fairly open Access Poilcy that should allow any AWS resource to publish to the topic and this would seem to be confirmed by the test event getting through. I have enabled CloudWatch logging but I am not seeing any entries appear in there after the object creation events.

The only other differences between the origninal event notification and the new one is there is a space in the prefix and there is no suffix.

What could the problem be?

asked 3 years ago411 views
2 Answers
0

Yes it is possible to have multiple event notifications for the same bucket with different prefixes posting to the same topic.

Could you please confirm if you are using space " " in URL Encoded format

If you use any of the following special characters in the value of the prefix or suffix, you must enter them in URL-encoded (percent-encoded) format:

  • ASCII character ranges 00–1F hex (0–31 decimal) and 7F (127 decimal)
  • Dollar ("$")
  • Ampersand ("&")
  • Plus sign ("+")
  • Comma (",")
  • Colon (":")
  • Semicolon (";")
  • Equals sign ("=")
  • Question mark ("?")
  • At sign ("@")
  • Space (" ")
    For example, to define the value of a prefix as "test abc/", enter "test%20abc/" for its value.

Edited by: aws-Anirudh on Dec 22, 2020 1:02 AM

AWS
answered 3 years ago
0

I was not using %20 in the prefix instead of the space. So I changed it to use %20 and it still didn't work.
So then I changed it to use + instead of space, and that worked.
Thanks for the clue.

It would be nice if the console did this automatically, or at least issue a warning that the user needs to encode the string in a required format.

answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions