我需要在推送到生产之前在我的本地开发服务器上测试一些更改。这样做需要在我的本地机器上拥有完整的数据集。
一位同事指示我:
https://developers.google.com/appengine/docs/python/tools/uploadingdata?csw=1
我使用管理员的用户名和密码下载了数据,但遗憾的是,我无法将数据上传到我的localhost“dev”应用引擎服务器。
从命令行执行此命令:
appcfg.py upload_data --filename=../data/data1.dat --url=http://localhost:9080/_ah/remote_api ./
其中:
收到此错误:
raise _ToDatastoreError(err)
google.appengine.api.datastore_errors.BadRequestError: app "dev~appname" cannot access app "appname"'s data
答案 0 :(得分:2)
更新:似乎答案就像在upload_data调用中添加以下内容一样简单:
--application="dev~appname"
谢谢@DavidBennett。
原始答案:(也可以)
在对SO和code.google.com进行大量搜索后,我发现有效的解决方案是对此问题的评论:
我使用了问题中描述的原始命令:
appcfg.py upload_data --filename=../data/data1.dat --url=http://localhost:9080/_ah/remote_api ./
我提示时输入的用户名和密码是我的应用用户名(在我的情况下,我的电子邮件)和相应的密码。 (如果这不起作用,你可能想根据我读过的其他评论尝试空白或test@example.com,但没有测试过这个理论。)
我还使用以下标志重新启动了我的应用引擎:(不要忘记在下次重新启动服务器时删除该标志)(您可能想尝试不使用此标志,因为我无法确认它影响任何东西 - 我在这里包括它,因为它是我使用的设置。)
--clear_datastore=yes
评论者建议删除此文件中第84行的本地服务器代码中的“dev~”:
google/appengine/tools/devappserver2/application_configuration.py, line 84
其中:
该基本目录' google'位于:
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine /
重要信息:重新启动本地应用引擎服务器,以使更改生效。