I am using Google Cloud Storage to store images for my Google App Engine application and I\'m trying to access the images like so:
And finally after 2 days, got it working.here is the answer: My approach for this is wrong, no need for signed URL. i need to just add my bucket as public-read so that i can read it from browser request. thats all. open gsutil, type this:
gsutil -m acl -r set public-read gs://BUCKET_NAME
and set this as default for all future uploads
gsutil -m defacl set public-read gs://BUCKET_NAME
hope it helps someone !
Thanks to @kctang !
gsutil
has been updated and you now need to do:
gsutil -m acl -r set public-read gs://bucket-name
gsutil -m defacl set public-read gs://bucket-name
P.S. For people unfamiliar with gsutil
, here is how to install it.
You're missing the content-md5 and content-type fields in the string to be signed. They can be blank, but you still need \n
separators. See this question for a working example of constructing the string to sign.
For a more general answer, the way to access an gs:// url is to use this format:
https://console.cloud.google.com/storage/browser/[BUCKET_NAME]/
For example, if the bucket you're trying to access is the Landsat public dataset,gs://gcp-public-data-landsat/
then you'd access the bucket with this url: https://console.cloud.google.com/storage/gcp-public-data-landsat/
Here's the documentation related to accessing a bucket:
Hope this helps!