java - Google Blobstore 提供的图像的 Google Appengine 签名或临时 URL

标签 java google-app-engine blobstore

我使用 ImagesService.getServingUrl(ServingUrlOptions options) 提供来自 blob 存储的图像: https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/images/ImagesService#getServingUrl-com.google.appengine.api.images.ServingUrlOptions-

有没有办法对这些 URL 进行签名来控制对它们的访问? (与 Google 存储中的相同: https://cloud.google.com/storage/docs/access-control?hl=en#Signed-URLs )

有没有办法让这些 URL 成为临时的?

我将从 Blob 存储中动态创建这些 URL,以供有权查看它们的用户使用。

谢谢!

最佳答案

当您想要撤销访问权限时,可以使用相应的deleteServingURL。来自 docs :

If you wish to stop serving the URL, delete it using the deleteServingUrl() method.

另外:

Whether you store your images in Blobstore or Google Cloud Storage, the right way to stop an image from being publicly accessible through the serving URL is to call the deleteServingUrl() method.

这确实需要额外的记录来确定何时删除 URL 以及执行删除的定期任务,因此并不理想。但这似乎是唯一的方法。

您可能首先要考虑这是否有必要。由于 URL 是不可猜测的,因此如果您首先控制谁可以获取该 URL,那么您就可以控制对图像的访问。既然您已经限制了对它的访问,为什么还要将其设置为临时的?

关于java - Google Blobstore 提供的图像的 Google Appengine 签名或临时 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271208/

相关文章:

google-app-engine - Appengine 应用程序的默认版本(来自代码)

java - 我可以将 Guice 中的 @Transactional 与 Google App Engine 的数据存储一起使用吗?

java - 如何将 javax.activation.DataSource 添加到 App Engine devserver?

java - 无法插入图像。没有权限。尽管提供许可

java - String vs Char Array vs String Builder(效率表现)

java - 当 TabLayout 中有 3 个选项卡,每个选项卡都显示正确的 fragment 时,如何理解 getFragments.size() 给我 2?

python - 在 GAE 标准环境 (Python 27) 上安装 Numpy (v1.9.0)、Pandas 和 SKlearn

java - 更新文本文件而不丢失信息

google-app-engine - 如何在带有 HTML5 音频标签的 jsp 文件中使用应用程序引擎的 blob 存储的 Blob-key 播放 mp3 文件?

java - Google App Engine : Different behavior locally vs deployed, 错误:无法在单个事务中对多个实体组进行操作