将小型应用程序迁移到高复制数据存储区

时间:2011-06-04 21:06:09

标签: python google-app-engine

当前recommendation from google是所有应用程序开始迁移到高复制数据存储区。我的应用很小,仍处于开发阶段。我的understanding是我的应用累积的数据越多,转换过程就会越多。所以我决定迁移ASAP(而我仍然只有56k的用户数据)。

我跟踪documentation从主从应用程序下载所有数据。我有下载的数据。我已将我的应用程序部署到高度复制。当我尝试使用upload命令(来自文档中的相同部分)但是我收到错误。这是我正在尝试运行的内容:

C:\Users\Hank\Documents\Aptana Studio 3 Workspace\hanksandbox>appcfg.py upload_data --application=essayhost --kind=User --filename=sandboxed .

我得到的错误:

  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\datastore\datastore_rpc.py", line 1048, in check_rpc_success raise _ToDatastoreError(err)
google.appengine.api.datastore_errors.BadRequestError: app s~essayhost cannot access app essayhost's data

这是一个很长的追溯的最后一行。如果您需要更多,请告诉我。如果您知道此过程的完整,全面的演练,请链接它。我所发现的大部分内容都有点超出我的深度。

P.S。任何人都知道如何一次上传所有种类?

2 个答案:

答案 0 :(得分:5)

我认为修复是在--application标志中为高复制应用指定完整的应用ID。在您的情况下,完整的应用程序ID是:s~essayhost。 App Engine会尝试隐藏s~前缀,但并不总是成功。

答案 1 :(得分:3)

我遇到了和你一样的问题。这就是我修复它的方法:

appcfg.py upload_data --config-file=bulkloader.yaml --filename=links.csv --kind=Link --application=s~myapp --url=http://myapp.appspot.com/_ah/remote_api

我目前正在将我的数据从我的VPS迁移到Google App Engine,即6万行数据。

编辑:您无法一次迁移所有种类;你可以尝试制作一个批处理脚本或其他什么来为你做,但是输入它并不困难。