我正在尝试使用以下代码行从Colab访问GCS并得到给定的错误。我想念什么吗?还是Colab不支持这种GCS访问?我可以使用任何解决方法或最佳做法吗?
from google.cloud import storage
client = storage.Client()
bucket = client.get_bucket('busnet_videos')
blob = bucket.blob('my-test-file.txt')
blob.upload_from_string('this is test content!')
错误:
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-7-0ed440d78c8f> in <module>()
7 from google.cloud import storage
8
----> 9 client = storage.Client()
10 bucket = client.get_bucket('busnet_videos')
11 blob = bucket.blob('my-test-file.txt')
2 frames
/usr/local/lib/python3.6/dist-packages/google/cloud/storage/client.py in __init__(self, project, credentials, _http)
71 project = None
72 super(Client, self).__init__(
---> 73 project=project, credentials=credentials, _http=_http
74 )
75 if no_project:
/usr/local/lib/python3.6/dist-packages/google/cloud/client.py in __init__(self, project, credentials, _http)
221
222 def __init__(self, project=None, credentials=None, _http=None):
--> 223 _ClientProjectMixin.__init__(self, project=project)
224 Client.__init__(self, credentials=credentials, _http=_http)
/usr/local/lib/python3.6/dist-packages/google/cloud/client.py in __init__(self, project)
176 if project is None:
177 raise EnvironmentError(
--> 178 "Project was not passed and could not be "
179 "determined from the environment."
180 )
OSError: Project was not passed and could not be determined from the environment.
答案 0 :(得分:0)
您可能必须设置一个环境变量:
GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_KEY.json
和
PROJECT_ID=YOUR_GOOGLE_CLOUD_PROJECT_ID