【问题标题】:Recipe Needed to Upload Data to Google App Engine Datastore将数据上传到 Google App Engine 数据存储区所需的配方
【发布时间】:2012-12-22 17:19:47
【问题描述】:

虽然我在过去几个月一直忙于完成我的 Google App Engine 解决方案,但现在我发现由于本地 dev_server 和 apppot 之间的变化和差异,Google 让我陷入了困境。

场景:我的应用部署在带有联合 OpenID 身份验证的 apppot 上。

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

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

此外,Dan Sanderson 的最新(第 2 版)书“Programming Google App Engine”不再包含有关数据上传的章节。有备份和恢复的章节,但是我要备份才能恢复数据,要等数据存在才能备份!

我不敢相信我是这个困境中唯一的人——这似乎应该是一个非常普遍的需求——我只需要在我的应用程序使用 OpenID 时上传数据。

请记住,关于我的本地 dev_server Python 应用程序的所有内容(appcfg.py、upload_data、remote_api、CSV yaml 配置等)都运行良好,但 apppot 上的这个问题阻止了我发布我的应用程序!

有没有人有一个简单的、最新的、记录在案的方法来将数千条记录上传到应用引擎?自定义上传处理程序端点?将数据文件与新的应用程序版本捆绑在一起,然后以某种方式读取它们?将 CSV 文件发布到 Google Drive 并从任务队列中读取它们?

有什么想法吗?

【问题讨论】:

  • 或者上传到 blobstore 并使用任务队列读取它们。 Blobstore 是上传数据的首选方式。

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


【解决方案1】:

您可以尝试解决此问题:

  1. 使用“普通”Google 帐户身份验证创建一个新应用程序。
  2. 将数据上传到该应用程序。
  3. 将数据备份到 Google Cloud Storage。
  4. 将日期从 Google Cloud Storage 恢复到原始应用程序中。

【讨论】:

  • 谢谢,谢伊。听起来像是intriguing 解决方法。
【解决方案2】:

从 SDK 1.7.3 开始,谷歌表示您可以更改身份验证方法 http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes 。在通过远程 api 进行初始数据加载时,您始终可以恢复为“google 帐户 api”,然后在完成后将身份验证设置回联合登录。

【讨论】:

  • 一开始我这样做是为了解决这个问题,但是在我每天的配额范围内上传数千条记录需要几周的时间。在我完成了最初的一组上传后,另一个新的错误阻止了我切换回 OpenID——这个错误持续了大约三个月,为此我的应用程序已经死了。如果我有生产用户,那么切换回上传新数据是不可能的,因为这个过程需要很长时间,而且我不想再冒 3 个月中断的风险!不过谢谢你的建议!
猜你喜欢
  • 2010-11-21
  • 1970-01-01
  • 2011-02-16
  • 2013-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多