【问题标题】:GAE Upload Download Data / Import Data to localhost for testing on my dev serverGAE 上传下载数据/导入数据到本地主机以在我的开发服务器上进行测试
【发布时间】:2014-01-19 19:53:52
【问题描述】:

在投入生产之前,我需要在本地开发服务器上测试一些更改。这样做需要在我的本地机器上拥有完整的数据集。

一位同事指示我:

https://developers.google.com/appengine/docs/python/tools/uploadingdata?csw=1

我使用管理员的用户名和密码下载了数据,但很遗憾,我无法将数据上传到我的本地主机“dev”应用引擎服务器。

从命令行运行这个命令:

appcfg.py upload_data --filename=../data/data1.dat --url=http://localhost:9080/_ah/remote_api ./

地点:

  • 9080 是我在本地应用程序副本上的应用程序端口
  • 我从我的应用目录运行此命令
  • 已将下载的数据存储在相关目录中 ../data/data1.dat

收到此错误:

raise _ToDatastoreError(err)
google.appengine.api.datastore_errors.BadRequestError: app "dev~appname" cannot access app "appname"'s data

【问题讨论】:

  • @DavidBennett 遗憾的是,我的同事告诉我,我不应该将 --application 与 --url 一起使用。我刚刚尝试过,它似乎确实有效。谢谢!

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


【解决方案1】:

更新:似乎答案很简单,只需将以下内容添加到我的 upload_data 调用中:

--application="dev~appname"

感谢@DavidBennett。

原始答案:(也有效)

在 SO 和 code.google.com 上进行大量搜索后,我发现有效的解决方案是对这个问题的评论:

devappserver2, remote_api, and --default_partition

我使用了问题中描述的原始命令:

appcfg.py upload_data --filename=../data/data1.dat --url=http://localhost:9080/_ah/remote_api ./

我在提示时输入的用户名和密码是我的应用程序用户名(在我的情况下是我的电子邮件)和相应的密码。 (如果这不起作用,您可能想根据我读过的其他 cmets 尝试空白或 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/

  • 假设您的 GoogleAppEngineLauncher.app 目录位于 Mac 上的 Applications 目录中

重要提示:重新启动本地应用引擎服务器以使更改生效。

【讨论】:

    猜你喜欢
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多