上传数据到Google App Engine Datastore所需的步骤

3
在过去几个月里,我一直忙于完成我的Google App Engine解决方案,但现在我发现由于本地dev_server和appspot之间的更改和差异,Google已经把我逼入了一个死角。
情况是这样的:我的应用程序在appspot上进行部署,并使用联合OpenID身份验证。
问题是:当应用程序配置为使用OpenID时,Google不支持数据上传。(他们知道这个问题problem,并认为这不是一个错误。)
几年前,Nick Johnson在他的博客上发布了一个remote_api and OpenID workaround,但有几个人报告说它不再起作用。
此外,Dan Sanderson的最新(第二版)书籍“Programming Google App Engine”不再包含有关数据上传的章节。有一个关于备份和恢复的章节,但在没有数据的情况下,我无法还原数据,也无法备份数据!
我无法相信只有我处于这种困境——似乎这应该是非常普遍的需求——我只需要在我的应用程序使用OpenID时上传数据。

请记住,关于我的本地dev_server Python应用程序的一切都很好(appcfg.py、upload_data、remote_api、CSV yaml配置等),但是在appspot上出现的这个问题阻止了我发布我的应用程序!
有人有一个简单、最新和记录的配方来上传数千条记录到应用引擎吗?自定义上传处理程序端点?将数据文件与新应用程序版本捆绑,然后以某种方式读取它们?将CSV文件发布到Google Drive并从任务队列中读取它们?
有什么想法吗?

1
或者将它们上传到 Blobstore 并使用任务队列读取。Blobstore 是上传数据的首选方式。 - voscausa
2个回答

6
您可以尝试以下方法绕过此问题:
  1. 使用“普通”Google帐户身份验证创建一个新的应用程序。
  2. 将数据上传到该应用程序中。
  3. 将数据备份到Google Cloud Storage中。
  4. 从Google Cloud Storage中恢复日期并还原到原始应用程序中。

谢谢,Shay。听起来像是一个有趣的解决方法。 - Brian

1

我一开始就这样解决了问题,但是在我的日配额内上传数千条记录花费了几个星期的时间。在完成了我的初始上传后,又出现了一个新的错误,导致我无法切换回OpenID - 这个错误持续了大约三个月,我的应用程序因此瘫痪了。如果我有生产用户,那么切换回上传新数据将永远不可行,因为这个过程太长了,而且我不想冒再次停机3个月的风险!但还是谢谢你的建议! - Brian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接