在GAE本地开发服务器中使用GCS
问题内容:
昨天,此代码在本地和生产服务器中均正常运行:
import cloudstorage
def filelist(Handler):
gs_bucket_name="/bucketname"
list=cloudstorage.listbucket(gs_bucket_name)
logging.warning(list)
self.write(list)
for e in list:
self.write(e)
self.write("<br>")
从昨天到今天,我已经升级了GAE
Launcher并更改了结算方式(我当时使用的是免费试用版,现在使用的是付费帐户)(不知道它是否有任何作用,而只是提供其他信息)
但是今天代码停止在本地工作(在生产中可以正常工作)
这是错误日志的开始
WARNING 2015-02-20 09:50:21,721 admin.py:106] <cloudstorage.cloudstorage_api._Bucket object at 0x10ac31e90>
ERROR 2015-02-20 09:50:21,729 api_server.py:221] Exception while handling service_name: "app_identity_service"
method: "GetAccessToken"
request: "\n7https://www.googleapis.com/auth/devstorage.full_control"
request_id: "WoMrXkOyfe"
该警告显示了一个存储桶对象,但是当我尝试在列表中进行迭代时,我立即获得了身份服务的异常。
发生什么事了?似乎我需要授权本地devserver gcs模型,但是我不确定如何。
请记住,这仅在devserver中发生,而不在生产中发生。
谢谢你的帮助
问题答案:
这是最新版本(1.9.18)的问题。
目前,在修复之前,您可以通过从此处下载安装程序并运行它来将其降级到1.9.17:https :
//storage.googleapis.com/appengine-
sdks/featured/GoogleAppEngineLauncher-1.9.17.dmg
按照下面的答案,1.9.18已对此进行了修补。如果您仍要安装1.9.17版本,请点击以下链接:https :
//storage.googleapis.com/appengine-
sdks/deprecated/1917/GoogleAppEngineLauncher-1.9.17.dmg