Google app engine 将二进制文件存储在GAE/J+;谷歌数据存储

Google app engine 将二进制文件存储在GAE/J+;谷歌数据存储,google-app-engine,binaryfiles,google-cloud-datastore,Google App Engine,Binaryfiles,Google Cloud Datastore,我正在用Java(GAE/J)在Google AppEngine上构建应用程序,我的所有数据都将存储在Google数据存储中。现在,如果我想保存一些二进制文件,比如图像(JPG、PNG等)、DOC、TXT、视频文件,我该如何处理这些文件?或者,如果我想流式传输视频文件(SWF),我应该在何处以及如何存储这些文件,并且当我重新部署我的应用程序时,我不会丢失任何数据。取决于您谈论的是静态文件还是动态文件。。。如果它们是由你创建的静态文件,你可以上传它们,但谷歌不提供CDN或其他任何东西 如果它们是动

我正在用Java(GAE/J)在Google AppEngine上构建应用程序,我的所有数据都将存储在Google数据存储中。现在,如果我想保存一些二进制文件,比如图像(JPG、PNG等)、DOC、TXT、视频文件,我该如何处理这些文件?或者,如果我想流式传输视频文件(SWF),我应该在何处以及如何存储这些文件,并且当我重新部署我的应用程序时,我不会丢失任何数据。

取决于您谈论的是静态文件还是动态文件。。。如果它们是由你创建的静态文件,你可以上传它们,但谷歌不提供CDN或其他任何东西


如果它们是动态的、由用户上传的或由应用程序创建的,则数据存储支持BlobProperty:您可以在其中转储任何类型的二进制数据,只要每个实体小于1MB。如果它们更大,你可以考虑另一种服务,比如S3或MasSO的云文件。这对于直接向用户提供文件是一个更好的解决方案,因为这些人可以提供CDN服务,但并不便宜。另一方面,您返回GAE的延迟将比将数据存储在Google的数据存储中要高得多,并且您必须支付双方的传输费用,因此,如果您要在App Engine上处理文件,则需要考虑这一点。

现在,您在GAE中有一个blob服务,可以处理高达50MB的文件。它与数据存储分开,但用于动态文件。希望对你有帮助。。。