从Blobstore迁移到适用于AppEngine Connected Android Project的Google云端存储

时间:2015-10-13 23:47:36

标签: android google-app-engine google-cloud-storage google-cloud-endpoints blobstore

我有一个App Engine Connected Android项目。目前我正在使用Blobstore来存储blob。以下是它的工作原理

  1. Android调用我的App Engine服务器以请求serveUrl
  2. App Engine使用服务URL
  3. 响应Android客户端
  4. Android使用上述服务网址
  5. 将图片(多部分)加载到Blobstore
  6. Blobstore使用BlobKey和Android发送到Blobstore的任何元/额外数据(即多部分)回调App Engine(servlet)
  7. App引擎将BlobKey存储在数据存储区中。或者从Blobkey中提取blob的url并以这种方式提供blob。

    • 不幸的是,你需要一个合适的servlet来处理来自Blobstore的回调,而不是去所有的Cloud Endpoint。
  8. 因此,在五个步骤和一个注释中,我告诉全世界如何将App-Engine与Android的Blobstore一起使用。

    有人请提供类似的一起使用步骤:App-Engine(数据存储),Google云端存储和Android吗?谢谢。优选地,解决方案不需要“适当的”servlet。

    请区分我是否应该使用Google API Client LibraryGoogle Cloud Client Library

    我正在使用Android Studio进行开发。

1 个答案:

答案 0 :(得分:1)

首先,您必须考虑授权上传文件的人: 用户,或您的应用程序,或您的Android应用程序。

如果您授权用户,您有多种选择(授权某个谷歌应用程序域或某些用户或使用签名的URL将文件上传到存储桶)

如果您授权该应用(您的应用引擎应用授权上传blob),您可以直接上传到云存储,但方式相同。

如果你授权你的Android应用程序,你可以摆脱应用程序引擎上传你文件的部分,并在你的Android应用程序中编写代码。为此,您需要使用对云存储中的某个存储区具有权限的服务帐户。

查看123

以下是使用pub / sub

将消息推送到浏览器的sample