【问题标题】:Downloading data from Google App Engine Application从 Google App Engine 应用程序下载数据
【发布时间】:2011-05-13 01:52:53
【问题描述】:

http://code.google.com/appengine/docs/python/tools/uploadingdata.html

这里解释了如何从 gAE 应用下载数据,

首先要做的是设置remote_api。 批量加载器工具使用 remote_api 与在 App Engine 上运行的应用程序通信,remote_api 是 App Engine 运行时环境中包含的请求处理程序,允许具有适当凭据的远程应用程序远程访问数据存储区。安装 remote_api 有两种方式:自动使用 builtins 指令,或者手动使用 url 指令。

我使用内置指令启用它: 我相应地更改了 app.yaml

builtins:
-  remote_api: on

假设该指令为 remote_api 找到“include.yaml”文件并将请求处理程序映射到 /_ah/remote_api。只有应用程序的管理员才能访问此 URL。

但我从未遇到过 include.yaml

之后我尝试使用那里给出的命令下载数据

appcfg.py download_data --application=<app-id> --url=http://<appname>.appspot.com/[remote_api_path] --filename=<data-filename>

我收到一条错误消息,提示权限被拒绝,我很困惑。我也无法使用“create_bulkloader_config”命令,得到同样的错误,我很困惑,谢谢

【问题讨论】:

  • 您是否在自定义域中使用您的应用程序?
  • 您需要包含完整的命令行、错误消息和堆栈跟踪。

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


【解决方案1】:

您是否为您的应用使用开放 ID/联合登录?远程 API 不适用于开放 ID,但这里有一个解决方法:

http://blog.notdot.net/2010/06/Using-remote-api-with-OpenID-authentication

【讨论】:

  • 感谢您的回复,不,我正在使用谷歌登录。在文档中,还有另一个过程,比如创建导出器类等等,我会尝试的。但我不明白为什么这些简单的命令对我不起作用
  • 你是说如果我没有实现用户服务我们就不能使用远程api吗?
  • 抱歉回复晚了,经过漫长的一夜我去睡觉了
  • 我想更清楚一点,我写了一个应用程序,它之前使用谷歌身份验证..它使用主/从数据存储。之后,我更改了 app.yaml 以启用 remote_api,并使用我的登录凭据对其进行了更新。之后,我尝试使用该简单命令下载数据并收到错误消息“IO:错误 [错误编号 13] 权限被拒绝:'c://programfiles/gae/bulkloader-log-20110513.175624”。我错过了什么吗?我是菜鸟,所以请帮助我
  • successflly 在摆弄了 3 个小时后成功了 :) nick 我从现在开始关注你的博客
【解决方案2】:

替换

builtins:
-  remote_api: on

- url: /remote_api
      script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
      login: admin

【讨论】:

    【解决方案3】:

    您应该以管理员用户身份运行命令行。您收到的权限被拒绝错误是指 appcfg 脚本无法访问本地文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      相关资源
      最近更新 更多