如何在App Engine上使用Google Client Library for Java创建Google Cloud Storage可恢复上传网址?

kg.*_*kg. 6 java google-app-engine google-cloud-storage

我找到了以下注释,它描述了我想要做的事情:

注意:如果您的用户仅将资源(写入)上传到访问控制的存储桶,则可以使用Google云端存储的可恢复上传功能,并避免签名网址或要求使用Google帐户.在可恢复的上传方案中,您的(服务器端)代码会对Google Cloud Storage进行身份验证并启动上传,而无需实际上传任何数据.启动请求返回上载ID,然后可以在客户端请求中使用上载ID来上载数据.客户端请求不需要签名,因为上载ID实际上充当身份验证令牌.如果选择此路径,请确保通过HTTPS传输上载ID.

https://cloud.google.com/storage/docs/access-control#Signed-URLs

但是,我无法弄清楚如何使用Google Cloud Storage Library for Java执行此操作.

https://developers.google.com/resources/api-libraries/documentation/storage/v1/java/latest/

我找不到任何可恢复文件的引用,或者在此API中的任何位置获取文件的URL.我怎样才能做到这一点?

Bra*_*ugh 4

该库不会向调用者公开它创建的 URL,这意味着您无法使用它来完成此操作。如果您想使用签名 URL 或上面提到的技巧,则需要手动实现。

如果可能的话,我建议使用签名 URL 解决方案,而不是服务器初始化可恢复上传的解决方案。它更灵活,更容易正确执行,并且后一种方法可能会遇到一些奇怪的边缘情况。

有人在另一个问题中写了一个从 App Engine 签署 URL 的快速示例:App Engine 上的云存储和安全下载策略。GCS acl 或 blobstore