关于Google App Engine:通过httpresponse服务Blobstore请求的成本

Cost of serving blobstore requests through httpresponse

我的问题很简单。

通过httpresponse服务Blobstore请求的成本是多少?
现在,我正在通过将图像上传到blobstore并创建imageServingLink()并通过该链接将图像提供给用户的方式来提供图像。这仅耗费带宽,而没有实例时间,但尺寸限制为1600像素。

因此,我想通过httpresponse提供我的图片。

通过httpresponse进行服务也要花我额外的配额,例如实例时间(用于下载图像的用户的长度)或仅带宽。

我知道我读过某处书,它只花费了bandband,但在blobstore文档中却不清楚!

第二个问题:

与通过缩略图服务提供服务相比,blobstore httpresponse提供服务的速度更快还是更慢?

或者我可以采取其他方法来尽可能便宜地提供我的图像,而又不牺牲太多速度和/或像素。

我希望得到答复。

==编辑==

这部分对我来说还不是很清楚:

Static content serving (Java, Python) is handled by specialized App
Engine infrastructure, which does not consume Instance Hours. If
you need to set custom headers, use the Blobstore API (Java, Python,
Go). The actual serving of the Blob response does not consume Instance
Hours.

那么,blobstore现在是否使用实例来提供响应?

blobstore中的静态文件和动态文件之间有什么区别,blobstore如何知道?

顺便说一句。我上传的大部分图片都将大于1600像素。


对由Images API生成的URL的请求不会占用实例时间,因为它们不需要运行您的应用程序代码。 App Engine基础结构可以为您的用户提供图像,而无需与您的应用程序联系,因此不会浪费实例时间。

假设您正在按照此处记录的方式讨论blob服务-也就是说,设置适当的blobstore标头,并让App Engine基础结构返回blob响应-唯一的额外费用是处理程序消耗的实例时间,以及其他您的用户将遇到的延迟。


imageServingLink() / get_serving_url()提供的图像来自专门用于快速图像提供的Google专用硬件,您只需为带宽付费。

如果您需要从您的应用中提供图像,那么除了带宽之外,您当然还需要花费一些实例时间,这会有点慢。此实例时间用于执行代码,直到您从请求处理程序返回之前,客户端实际下载数据不会占用实例时间。

但是,如果您只是对1600像素的限制感到困扰,则可以添加一个专门为1600像素及以上的特定图像提供服务的小型请求处理程序,然后继续使用imageServingLink()进行其余操作。我不知道您的用例,但通常高分辨率图像只是所提供的所有图像的一小部分。