我将尝试使其尽可能短。
我有一个计算引擎实例,它正在运行Python / Flask。
我正在尝试做的是允许用户从Google云端存储下载文件,但是我不希望该文件可公开访问。有什么方法可以让我的Compute实例从云存储流式传输文件供用户下载,然后在用户下载完文件后从计算实例中删除该文件?我希望他们单击下载按钮后立即开始下载。
我正在使用默认的应用程序凭据。子流程不是一个选择。
SideNote:我正在考虑的另一种方法是允许登录网站的每个用户访问存储桶中的特定文件夹。但是,我不确定如果不让他们使用Google帐户登录,是否还能实现这一点。这似乎也很难实施。
@jterrace的答案就是您想要的。
签名的URL可以有一个与之关联的时间限制。在您的应用程序中,您将为该文件创建一个签名的URL,并执行HTTP重定向到该文件。
https://cloud.google.com/storage/docs/access-control/create-signed-urls-program
如果您使用默认的计算引擎服务帐户(与GCE实例关联的默认帐户),则应该可以签名。只需按照上面的网址中有关如何创建密钥的说明进行操作即可。
您可以通过这种方式进行各种出色的工作,包括允许用户直接将其上传到Google云存储!:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句