I didn't realize that GCS objects have their own Cache-Control header
specified. Thanks for the suggestion.
On Mon, May 2, 2016 at 9:52 PM, 'Adam (Cloud Platform Support)' via Google
App Engine wrote:
> Interestingly, it seems that images served directly from
Interestingly, it seems that images served directly from Cloud Storage
instead of Blobstore set "Cache-Control: public, max-age=86400, no-transform",
so an option may be to use the Images service with GCS objects instead of
blobkeys. There is an open feature request
I have a related question. I noticed that the served images
have Cache-Control:max-age=0.
Are the served images not immutable? If I write a new blob to the same blob
key, would that be served under the same image URL?
Is there a way to create an image serving URL that serves an immutable,
Thanks Adam and Christian!
On Sun, Apr 24, 2016 at 1:17 AM, 'Adam (Cloud Platform Support)' via Google
App Engine wrote:
> Turning a blob key into a serving URL isn't a simple string
> transformation. The blob must be made available on a special image serving
Turning a blob key into a serving URL isn't a simple string transformation.
The blob must be made available on a special image serving infrastructure
that supports resizing and cropping. The Python documentation
I need the blob key to be able to delete the blob, so I thought it wouldn't
make sense to store both the blob key and the image URL.
It might make sense for the reason you mention, but I'd first like to
understand why it's so slow or whether I'm doing something wrong, before I
store redundant
i haven't measured the time it takes for the transformation recently, but
note that the serving URL does not change, so i only generate it when a new
blob is uploaded and store the URL on the object in my datastore so that it
takes 0 time to generate in the future.
On Saturday, April 23, 2016