【问题标题】:Google Cloud Storage + App Engine signed url upload handlerGoogle Cloud Storage + App Engine 签名的 url 上传处理程序
【发布时间】:2016-07-28 20:25:00
【问题描述】:

有没有什么方法可以使用 Google App Engine (Java) 在 Google Cloud Storage 中创建带有签名 URL 的处理程序?

我可以在我的 Android (Java) 应用程序中成功地将文件上传到带有签名 URL 的存储桶,但我目前没有在上传完成后在服务器端执行附加代码的方法。

我一直在搞乱 Blobstore API 并创建由应用引擎中的 servlet 处理的上传 url,但我似乎无法让它在我的 Cloud Endpoints App Engine 项目中工作。

此外,签名的 url 似乎对我有利,因为我可以在它们上设置过期时间。

【问题讨论】:

  • 有对象更改通知 (cloud.google.com/storage/docs/object-change-notification) 如果您记得您创建的签名 url,应该可以过滤掉您不感兴趣的事件。
  • @konqi 这些是用来代替 GCS 中的上传处理程序的吗?
  • 想成为?我不知道。可能:是的。
  • @konqi 我认为这是注定的。奇迹般有效。感谢您为我确认这一点。

标签: google-app-engine google-cloud-storage


【解决方案1】:

目前看来唯一的方法是使用object change notifications。这实际上并没有那么糟糕。

我在我的 Cloud Endpoints App Engine 项目中设置了一个 servlet,在它的 doPost() 中我读入了请求的 json 正文,并对其进行解析,您可以获得所需的所有信息:https://cloud.google.com/storage/docs/object-change-notification#_Type_AddUpdateDel

请记住来自docs 的警告:

由于上面的重试机制,有可能 通知不止一次发送。确保您的 应用程序在处理唯一的方面是幂等的 通知。

因此,请确保您在发送通知后执行的任何操作都是幂等的(例如,多次执行该操作不会影响操作的第一个结果)

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 2014-03-22
    • 2013-11-02
    • 2015-07-07
    • 2011-03-21
    • 2017-09-16
    • 1970-01-01
    • 2020-04-04
    • 2014-11-22
    相关资源
    最近更新 更多