昨天这段代码在本地和生产服务器上都运行良好:
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 模型,但我不确定如何。
请记住,这只发生在开发服务器中,而不是生产中。
谢谢你的帮助
最佳答案
这是最新版本 (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
关于python - 在 GAE 本地开发服务器中使用 GCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28626222/