如何正确使用谷歌云存储 python 库中的 create_anonymous_client() 函数来访问公共存储桶?

How to properly use create_anonymous_client() function in google cloud storage python library for access on public buckets?(如何正确使用谷歌云存储 python 库中的 create_anonymous_client() 函数来访问公共存储桶?)

本文介绍了如何正确使用谷歌云存储 python 库中的 create_anonymous_client() 函数来访问公共存储桶?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I made a publicly listable bucket on google cloud storage. I can see all the keys if I try to list the bucket objects in the browser. I was trying to use the create_anonymous_client() function so that I can list the bucket keys in the python script. It is giving me an exception. I looked up everywhere and still can't find the proper way to use the function.

from google.cloud import storage

client = storage.Client.create_anonymous_client()
a = client.lookup_bucket('publically_listable_bucket')
a.list_blobs()

Exception I am getting:

ValueError: Anonymous credentials cannot be refreshed.

Additional Query: Can I list and download contents of public google cloud storage buckets using boto3, If yes, how to do it anonymously?

解决方案

I was also struggling with thing and couldn't find an answer anywhere online. Turns out you can access the bucket with just the bucket() method.

I'm not sure why, but this method can take several seconds sometimes.

client = storage.Client.create_anonymous_client()

bucket = client.bucket('publically_listable_bucket')

blobs = list(bucket.list_blobs())

这篇关于如何正确使用谷歌云存储 python 库中的 create_anonymous_client() 函数来访问公共存储桶?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何正确使用谷歌云存储 python 库中的 create_anonymous_client() 函数来访问公共存储桶?

基础教程推荐