将数据上传到Google App Engine数据存储区需要配方

时间:2012-12-22 17:19:47

标签: google-app-engine google-cloud-datastore

虽然在过去的几个月里我一直在忙着完成我的Google App Engine解决方案,但现在我发现由于本地dev_server和appspot之间的变化和差异,Google让我把我画成了一个角落。

场景:我的应用程序部署在带有Federated OpenID身份验证的appspot上。

问题:当应用配置为使用OpenID时,Google不支持数据上传。 (他们知道这个problem并且不认为它是一个错误。)

几年前,尼克·约翰逊在他的博客上发布了一个remote_api and OpenID workaround,但有几个人报告说它不再适用。

此外,最新的(第二版)Dan Sanderson的书“Programming Google App Engine”不再包含有关数据上传的章节。有一章关于备份和还原,但在备份之前我无法恢复数据,在数据存在之前我无法备份数据!

我无法相信我是这个困境中的唯一一个 - 它似乎应该是一个非常普遍的需求 - 我只需要在我的应用使用OpenID时上传数据。

请记住,关于我的本地dev_server Python应用程序的一切都很好(appcfg.py,upload_data,remote_api,CSV yaml configs等),但appspot上的这个问题阻止我发布我的应用程序!

有没有人有一个简单的,最新的,有文档记录的配方,可以将数千条记录上传到app引擎?定制上传处理程序端点用新的应用程序版本捆绑数据文件,然后以某种方式读取它们?将CSV文件发布到Google云端硬盘并从任务队列中读取它们吗?

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

您可以尝试将其作为解决方法:

  1. 使用“正常”Google帐户身份验证创建新应用程序。
  2. 将数据上传到该应用程序。
  3. 将数据备份到Google云端存储中。
  4. 将日期从Google云端存储还原到原始应用程序。

答案 1 :(得分:1)

从SDK 1.7.3开始,Google表示您可以更改身份验证方法http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes。在通过远程api进行初始数据加载时,您可以随时恢复为“google accounts api”,然后在完成后将auth设置回Federated Login。