Google cloud storage 如何获取或生成bucket中对象的URL?

Google cloud storage 如何获取或生成bucket中对象的URL?,google-cloud-storage,google-compute-engine,Google Cloud Storage,Google Compute Engine,我将对象存储在谷歌云存储的存储桶中。我想提供一个下载对象的http url。是否有标准的约定或方法将存储在云存储中的文件公开为http URL?一种方法是在 是的。假设对象是可公开访问的: http://BUCKET_NAME.storage.googleapis.com/OBJECT_NAME 您还可以使用: http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME HTTP和HTTPS都可以正常工作。请注意,匿名用户必须能够读取该对象,否

我将对象存储在谷歌云存储的存储桶中。我想提供一个下载对象的http url。是否有标准的约定或方法将存储在云存储中的文件公开为http URL?

一种方法是在
是的。假设对象是可公开访问的:

http://BUCKET_NAME.storage.googleapis.com/OBJECT_NAME
您还可以使用:

http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
HTTP和HTTPS都可以正常工作。请注意,匿名用户必须能够读取该对象,否则下载将失败。有关更多文档,请访问


如果对象不是可公开访问的,并且您只希望一个用户能够访问它们,那么您可以生成一个签名URL,该URL只允许URL持有者下载对象,甚至只允许有限的时间段。我建议为此使用一个GCS客户端库,因为很容易得到稍有错误的签名代码:

对象是公共的吗?如果没有,您希望如何进行授权?最好使用公共URL和网站链接,还是使用经过身份验证的服务帐户检索文件并将其流回到web服务器并发送给最终用户?这完全取决于您的需要。允许最终用户直接对其进行流式传输可以节省带宽,从而节省成本,但通过您自己的系统代理它可以实现更多的控制。还要注意,对象名称可能包括斜杠(
/
),从而“模拟”层次结构(虽然bucket中没有层次结构,但它是一个平面名称空间,但一些工具可能会假装存在层次结构,以便更好地可视化。