【发布时间】:2012-01-30 00:47:07
【问题描述】:
我正在使用 PiCloud REST API 从 Google Appengine (GAE) 运行后台任务。我的 PiCloud 函数向 GAE 返回一个字节字符串,如下所示:
结果 = numpy.asarray(arr,numpy.float32).tostring()
返回 pickle.dumps(bz2.compress(result))
这可以正常工作,除了当字符串“result”很大(24MB 是典型值)时,即使使用 bz2 压缩,酸洗会使返回的 blob 的大小超过 GAE URLfetch 响应的 32MB 限制。我试过使用 json.dumps() 但它不起作用。有没有办法返回不扩展的 blob?
【问题讨论】:
-
我应该更仔细地阅读 REST API 文档。解决方案是使用 out_encoding = 'raw' cloud.files.publish(function, 'function', out_encoding = 'raw') 发布 PiCloud 函数,然后将结果作为没有 JSON 标头但具有 Content-Type 的字符串返回:应用程序/八位字节流
标签: python json google-app-engine rest pickle