- Newest
- Most votes
- Most comments
From the documentation (and also mentioned in the other answer):
A wildcard character ("*") can't be used in filters as a prefix or suffix. If your prefix or suffix contains a space, you must replace it with the "+" character. If you use any other special characters in the value of the prefix or suffix, you must enter them in URL-encoded (percent-encoded) format. For a complete list of special characters that must be converted to URL-encoded format when used in a prefix or suffix for event notifications, see Safe characters.
I tried to recreated your issue.
When I set the event to match on prefix skey=aaaaa-aaaaa-aaaaa-aaaaa/Category=zzzzzzz/ there was no match.
When I set the event to match on prefix skey%3Daaaaa-aaaaa-aaaaa-aaaaa/Category%3Dzzzzzzz/ there was a match and the lambda was triggered successfully.
Note that the prefix is case sensitive, double check that your folder is indeed as you've mentioned (e.g., skey all small case, Category with capital C).
Hi,
This page https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html will detail what to for S3 object names with special chars like "=".
As you will see there, the recommendation is to encode object names with such charss.
Best,
Didier
Relevant content
- asked 7 months ago
- Accepted Answerasked 4 years ago
- Accepted Answerasked a year ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 months ago
i am setting the prefix manually in S3 console as below:
skey=aaaaa-aaaaa-aaaaa-aaaaa/Category=zzzzzzz/
Tried skey%3Daaaaa-aaaaa-aaaaa-aaaaa/Category%3Dzzzzzzz/ as well after reading https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html. The notification still doesnt seem to work?