【问题标题】:How to store files using google app engine and be able to view it?如何使用谷歌应用引擎存储文件并能够查看它?
【发布时间】:2014-10-06 08:14:44
【问题描述】:
我需要一种方法来存储可以通过浏览器查看的文件。目前我有一个可以查询到我的谷歌应用引擎实例的 Android 和 iOS 应用程序。我需要将客户端(android/ios) 的一些小文件上传到应用引擎中。我在看:
- blobstore
- 谷歌云存储
- 暂时存储文件以将它们传输到其他地方,例如 s3
我不确定什么是最好的选择。这个想法是,一旦我存储了文件,如果他们在浏览器上打开链接,我就可以生成一个可公开访问的链接来查看文件(即图像或文本)。最好的方法是什么?
附:我读过 blobstore 似乎在 5GB 以下是免费的,而云存储即使是您使用的第一个 GB 也会向您收费?这仍然是真的吗?
【问题讨论】:
标签:
android
ios
google-app-engine
google-cloud-storage
google-cloud-datastore
【解决方案1】:
由于您的应用托管在 GAE 上,因此将内容保留在 Google 的基础架构上是有意义的,因此请立即忽略 S3。
这让您在 bs 和 gcs 之间做出选择,而决定实际上取决于您对应用程序的需求。 Blobstore 是 App Engine 的一项功能,而 GCS 是独立的对象存储。鉴于您的应用已在 GAE 上运行,Blobstore 是最简单、最快捷的实施解决方案。但是 GCS 会给你更多的灵活性,并且具有更丰富的功能(安全性、缓存、API 等)。如果您使用 blobstore,所有流量都将通过 App Engine,从而增加您的传入/传出带宽配额。另一方面,GCS 有自己的配额。如您所述,您还需要enable billing 才能使用GCS,并且会有charge for it's use。
所以这取决于您的需求 - 您的应用程序有多大、您拥有多少用户、您需要存储多少数据等等等等。“更好”的解决方案是云存储,但如果您只是需要在这里和那里存储一些小 blob,blobstore 可能是适合您的解决方案。就个人而言,我会选择 GCS,因为它为您提供了更多选择和未来的灵活性。
旁注:我多次读到/听说过 blobstore 已被弃用,最终将完全被 Cloud Storage 取代。