小编una*_*ran的帖子

在GAE Local devserver中使用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>")
Run Code Online (Sandbox Code Playgroud)

从昨天到今天,我已升级GAE启动器并更改了结算选项(我使用的是免费试用版,现在是付费帐户)(不确定是否有任何操作,只是为了提供额外信息)

但今天代码停止在本地工作(在生产中工作正常)

这是错误日志的开头

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"
Run Code Online (Sandbox Code Playgroud)

警告显示了一个存储桶对象,但是一旦我尝试在列表中进行迭代,我就会在身份服务上获得异常.

什么是hapening?似乎我需要授权本地devserver gcs模型,但我不知道如何.

请记住,这只发生在devserver中,而不是生产中.

谢谢你的帮助

python google-app-engine google-cloud-storage

9
推荐指数
1
解决办法
1091
查看次数

使用 XLRD (python) 从 Google Cloud Storage 读取文件

我试图在 GAE 中读取存储在我的一个存储桶中的文件。

该文件存储在公共存储桶中

我试过:

archivo=cloudstorage.open('/bucket/workbook.xlsx')
wb = xlrd.open_workbook(filename=archivo)
Run Code Online (Sandbox Code Playgroud)

但是 xlrd 希望自己打开文件,所以我得到了一个 TypeError

类型错误:强制转换为 Unicode:需要字符串或缓冲区,已找到 ReadBuffer

有没有办法给 xlrd 一个打开的文件,这样我就可以读取文件而不必更改 xlrd.py

python google-app-engine xlrd python-2.7 google-cloud-storage

0
推荐指数
1
解决办法
1371
查看次数