如何获取或生成存储桶中对象的URL?

ada*_*ger 20 google-cloud-storage google-compute-engine

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

Bra*_*ugh 30

是.假设对象是公共可访问的:

http://BUCKET_NAME.storage.googleapis.com/OBJECT_NAME
Run Code Online (Sandbox Code Playgroud)

您还可以使用:

http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
Run Code Online (Sandbox Code Playgroud)

HTTP和HTTPS都可以正常工作.请注意,匿名用户必须可以读取该对象,否则下载将失败.有关更多文档,请访问https://developers.google.com/storage/docs/reference-uris

如果对象不是可公开访问的,并且您只希望一个用户能够访问它们,则可以生成一个签名URL,该URL只允许URL的持有者下载该对象,即使只是在一段有限的时间内.我建议使用其中一个GCS客户端库,因为很容易让签名代码略有错误:https://developers.google.com/storage/docs/accesscontrol#Signed-URLs