Impact of not configuring "Amazon Events" while using Amazon S3 bucket for blobs


Hi Team ,

What would be the impact on a CMS website using Amazon s3 blobs and not configuring Amazon Events ?

It was there in our config from ages, but website broke today with an error  "[AmazonSimpleNotificationServiceException: The security token included in the request is invalid.]"

So as a quick fix, we have disabled the AmazonEvents settings in web.config and site is functional as normal.

To understand the impact, it would be much appreciated if anyone can provide more info on its this. BTW, we aren't using Amazon Beanstalk.



Edited, Oct 10, 2020 19:40

Hi Srinivas

If you only use Amazon AWS for storing blobs, and otherwise hosts the site on regular (non-cloud) servers then you won't need Amazon Events. Amazon Events is only needed if you run the site in an environment, where you cannot reliably send UDP or TCP packages between the servers in a load balancing group.

If you do turn off Amazon Events, remember to replace it with another event provider (unless you only have a single server).

I once wrote a little explanation on event providers in this blog post: Redis can be an EPiServer event broker too.

Oct 11, 2020 16:19

Thanks Stefan Holm Olsen. We do host in cloud servers, but using VMs directly for hosting and not through Beanstalk. 

We prefer to have the events back, as it was maintained by another vendor previously[transitioned recently to us], and not sure of the exact permissions required for the AccessKey of the SNS event.

I would highly appreciate , if you can please let me know the permissions required for this user? 

Oct 11, 2020 18:54

Hi Stefan Holm Olsen I've been trying to put a usecase to understand its impact. Can you please review if the below makes sense.

Usecase :
We have two cloud VMs, S1 and S2, and two users A and B.
For Example. A is served from S1 and B is served from S2.

Episerver by default, serves content with output caching

Consider A and B are on an Episerver page P1.
So A gets a cached copy of P1 from S1, B gets a cached copy of P1 from S2.
Now another user U1[served over S1] edits the page P1 and publishes.

Scenario 1 : When EventProvider isn't configured
S2 never knew that the page P1 got updated by another user via another server S1. So anybody getting the content from server S1 would see the latest page [P1_Updated], and other users served content from S2 would view the old Page[P1], Since there isn't any communication between servers.

Scenario 2 : When EventProvider is configured
Server1 would notify Server2 using Events, that P1 is modified. So S2 doesn't load P1 from outputcache, and instead gets latest content from Database. Thus updated content is served to all the users.

Since we are using Episerver to target promotions, we would like to have a consistent experience for all the target users. So any input on this would be highly appreciated.


Srinivas Kona 

Edited, Oct 11, 2020 19:02

That's right, Srinivas. If events are not working properly, the servers will not invalidate cache and they may end up serving different content over time.

I am not too seasoned in Amazon SNS, sorry. But I suppose you need to assign the AmazonSNSFullAccess permission to a new or existing user in AWS and use the access/secret keys from that user.

Have you also read the Amazon deployment guide on Episerver World?

Edited, Oct 12, 2020 6:33

Thanks Stefan Holm Olsen. Yes I did, and your article is quite informative too.

Oct 13, 2020 15:34
Stefan Holm Olsen - Oct 13, 2020 20:19
Happy you found my answer and article useful, Srinivas.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.