当我的应用部署到gae时,我可以访问gcs,但是我想在开发期间从本地机器访问gcs。我该怎么做呢?在
以下是我尝试打开gcs上的文件时得到的回溯:
Traceback (most recent call last):
File "/Users/alvinsolidum/Downloads/google_appengine/google/appengine/runtime/wsgi.py", line 267, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "/Users/alvinsolidum/Downloads/google_appengine/lib/webapp2-2.3/webapp2.py", line 1519, in __call__
response = self._internal_error(e)
File "/Users/alvinsolidum/Downloads/google_appengine/lib/webapp2-2.3/webapp2.py", line 1511, in __call__
rv = self.handle_exception(request, response, e)
File "/Users/alvinsolidum/Downloads/google_appengine/lib/webapp2-2.3/webapp2.py", line 1505, in __call__
rv = self.router.dispatch(request, response)
File "/Users/alvinsolidum/Downloads/google_appengine/lib/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher
return route.handler_adapter(request, response)
File "/Users/alvinsolidum/Downloads/google_appengine/lib/webapp2-2.3/webapp2.py", line 1077, in __call__
return handler.dispatch()
File "/Users/alvinsolidum/Downloads/google_appengine/lib/webapp2-2.3/webapp2.py", line 547, in dispatch
return self.handle_exception(e, self.app.debug)
File "/Users/alvinsolidum/Downloads/google_appengine/lib/webapp2-2.3/webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "/Users/alvinsolidum/Documents/fallsafety-dataflow/preprocess/main.py", line 74, in get
self.to_csv()
File "/Users/alvinsolidum/Documents/fallsafety-dataflow/preprocess/main.py", line 41, in to_csv
compressed_flo = gcs.open(read_filepath, 'r')
File "/Users/alvinsolidum/Documents/fallsafety-dataflow/preprocess/lib/cloudstorage/cloudstorage_api.py", line 103, in open
offset=offset)
File "/Users/alvinsolidum/Documents/fallsafety-dataflow/preprocess/lib/cloudstorage/storage_api.py", line 249, in __init__
errors.check_status(status, [200], path, resp_headers=headers, body=content)
File "/Users/alvinsolidum/Documents/fallsafety-dataflow/preprocess/lib/cloudstorage/errors.py", line 132, in check_status
raise NotFoundError(msg)
NotFoundError: Expect status [200] from Google Storage. But got status 404.
Path: '/fallsafety-test-general/apple-watch/continuous/active/54d0044919e92b0c00c29555-29391CEA593C4D798A1EA08BD23DA47E-0002-continuous.csv.gz'.
Request headers: None.
Response headers: {'date': 'Mon, 29 Aug 2016 23:15:49 GMT', 'server': 'Development/2.0', 'connection': 'close'}.
Body: ''.
Extra info: None.
啊,看起来你在使用appengine gcs客户端的Python。在本地开发服务器上运行时,客户机默认使用本地的、假的GCS版本(请参阅响应标题“server:development/2.0”?)。我猜你在找一个真正的GCS对象,你还没有上传到本地的赝品上。在
您可以通过在服务器初始化过程中上载有问题的对象,使用不同的库(gcloud python真的很好)来解决这个问题,也可以通过设置server_SOFTWARE环境变量来禁用本地伪对象:
相关问题 更多 >
编程相关推荐