【发布时间】:2013-06-24 02:37:02
【问题描述】:
根据AppEngine documentation(引用如下),使用download_data和upload_data应该保留下载数据的原始密钥。
下载数据时,实体会与其所在的实体一起存储 原始键。上传数据时,使用原始密钥。 如果数据存储中存在与实体具有相同键的实体 正在上传,数据存储区中的实体被替换。
我正在使用这两个命令:
appcfg.py download_data --oauth2 --url=https://myapp-id.appspot.com/_ah/remote_api --filename=testdata/gamedata
appcfg.py upload_data --url=http://localhost:9876/_ah/remote_api --filename=testdata/gamedata
数据以相同的 id 上传,但密钥不同,知道我做错了什么吗?还是本地 devappserver 的密钥计算方式不同?
更新
添加一些数据来比较 prod 和本地 dev 版本
生产密钥:ag9zfmF3ZXNvbWVzdGdhbWVyGAsSCENhdGVnb3J5IgrYo9is2YbYqNmKDA
从 PROD 下载数据并将数据上传到 localhost 后,同一对象的密钥变为:ahFkZXZ-YXdlc29tZXN0Z2FtZXIYCxIIQ2F0ZWdvcnkiCtij2KzZhtio2YoM
【问题讨论】:
-
如果你展示一些你观察到的数据和你的模型类,这会有所帮助。
标签: google-app-engine google-cloud-datastore app-engine-ndb