Search code examples
amazon-web-servicescloudcdnamazon-cloudfront

Force CloudFront distribution/file update


I'm using Amazon's CloudFront to serve static files of my web apps.

Is there no way to tell a cloudfront distribution that it needs to refresh it's file or point out a single file that should be refreshed?

Amazon recommend that you version your files like logo_1.gif, logo_2.gif and so on as a workaround for this problem but that seems like a pretty stupid solution. Is there absolutely no other way?


Solution

  • Good news. Amazon finally added an Invalidation Feature. See the API Reference.

    This is a sample request from the API Reference:

    POST /2010-08-01/distribution/[distribution ID]/invalidation HTTP/1.0
    Host: cloudfront.amazonaws.com
    Authorization: [AWS authentication string]
    Content-Type: text/xml
    
    <InvalidationBatch>
       <Path>/image1.jpg</Path>
       <Path>/image2.jpg</Path>
       <Path>/videos/movie.flv</Path>
       <CallerReference>my-batch</CallerReference>
    </InvalidationBatch>