1
votes

I am having trouble invalidating CloudFront cached content with query string data.

For example, say I am trying to invalidate the following:

http://d114hh0cykwyb0.cloudfront.net/imagesizer.php?h=80&src=/images/foo.jpg

I use the AWS SDK to send the invalidation path, which is: /imagesizer.php?h=80&src=/images/foo.jpg

I'll then go into the AWS Console->CloudFront->Distribution Settings->Invalidations

I see my new invalidation request. If I see the 'Details' on it, the Object Paths says: /imagesizer.php%3Fh%3D80%26src%3D/images/foo.jpg

So the path has been encoded. However, after the invalidation has been Completed, http://d114hh0cykwyb0.cloudfront.net/imagesizer.php?h=80&src=/images/foo.jpg remains the same.

I also tried using the 'Create Invalidation' from within the AWS Console using the path: /imagesizer.php?h=80&src=/images/foo.jpg

but I get an XML parse error (because the URL is not encoded).

Has anyone dealt with this kind of issue before? Were you able to find a solution?

Thanks!

1
Does object expiration with query string works via the API for anyone? I could not get it to work, and I suspect they have not extended the invalidation API to support query strings.netvope

1 Answers

-5
votes

a very easy way to use invalidation is the use of third party tools. Personally i use CloudBerry - > http://www.cloudberrylab.com/