我被分配了一个在 Google App Engine 上创建文件存储服务的项目。但我真的很怀疑是否有 30 秒的限制来处理响应,而且它的 BigTable 只是一个数据库系统而不是存储服务器。我正确吗?
6 回答
您将需要查看 blobstore API
http://code.google.com/appengine/docs/java/blobstore/
它允许您上传最大 50Mb 的文件并直接提供它们,而无需通过 BigTable。我正在做的是我有一个脚本,它接收一个文件,创建 blobstore 上传 url,然后将它收到的文件发布到该 url 并将一个条目存储在 bigtable 中。30 秒的时间限制仅适用于处理时间,因此上传文件的行为不计入其中。
如果您只需要存储,比 App Engine 更好的选择是新的 beta-d Google Storage:
Google Storage for Developers 是一项 RESTful 服务,用于在 Google 基础架构上存储和访问您的数据。该服务将谷歌云的性能和可扩展性与先进的安全和共享功能相结合。亮点包括:
快速、可扩展、高度可用的对象存储
所有数据复制到多个美国数据中心
读写数据一致性
每个请求具有数百 GB 大小的对象,支持范围获取
域范围的存储桶命名空间
简单、灵活的身份验证和共享
基于密钥的身份验证
来自网络浏览器的经过身份验证的下载
个人和团体级别的访问控制
使用并查看您是否喜欢我维护的blobstore
这绝对是可能的。
也有一些类似的问题得到了解答。有关更多实现,请参阅 Google。
但总的来说,是的,30 秒的限制确实使您的任务复杂化,但您可以将文件分成块并将它们分别存储为文本/blob。App Engine 的 Remote API可能会自动为您执行此操作。
请记住,每个请求限制为 10MB。