【发布时间】:2025-12-29 09:55:17
【问题描述】:
我将对象存储在谷歌云存储上的存储桶中。我想为该对象提供一个 http url 以供下载。是否有标准约定或方式将存储在云存储中的文件公开为 http url?
【问题讨论】:
-
对象是公开的吗?如果没有,你想怎么做授权?
标签: google-cloud-storage google-compute-engine
我将对象存储在谷歌云存储上的存储桶中。我想为该对象提供一个 http url 以供下载。是否有标准约定或方式将存储在云存储中的文件公开为 http url?
【问题讨论】:
标签: google-cloud-storage google-compute-engine
是的。假设对象是可公开访问的:
http://BUCKET_NAME.storage.googleapis.com/OBJECT_NAME
你也可以使用:
http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
HTTP 和 HTTPS 都可以正常工作。请注意,该对象必须可供匿名用户读取,否则下载将失败。更多文档请访问https://developers.google.com/storage/docs/reference-uris
如果对象是不可公开访问的,并且您只希望一个用户能够访问它们,您可以生成一个签名 URL,该 URL 将只允许 URL 的持有者下载对象,并且即便如此,也只是在有限的时间内。我建议为此使用其中一个 GCS 客户端库,因为签名代码很容易出错:https://developers.google.com/storage/docs/accesscontrol#Signed-URLs
【讨论】:
/),因此“模拟”了一个层次结构(尽管存储桶内没有层次结构,它是一个平面命名空间,但某些工具可能会假装层次结构的存在是为了更好的可视化。