2011-05-13 123 views
2

http://code.google.com/appengine/docs/python/tools/uploadingdata.html从谷歌的App Engine应用

这里下载数据,它解释了如何从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” 命令,得到了同样的错误,我很困惑,感谢

+0

是你在自定义域中使用你的应用程序吗? – Sam 2011-05-13 07:56:22

+0

@sam no,仅限appspot – syllogismos 2011-05-13 12:35:25

+0

您需要包含完整的命令行,错误消息和堆栈跟踪。 – 2011-05-15 22:46:18

回答

0

更换

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

我试了两个,它不工作.. – syllogismos 2011-05-13 12:21:54

1

是否使用开放ID /联合

builtins: 
- remote_api: on 

随着登录您的应用程序?远程API不开放ID的工作原理,但有一种变通方法在这里:

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

+0

感谢您的答复,没有我使用谷歌登录.. 在文档中,有另一个程序,如创建出口商类等,我会尝试。但我不明白为什么这些简单的命令不为我工作 – syllogismos 2011-05-13 12:13:54

+0

你是说我们不能使用远程API如果我没有实现用户服务? – syllogismos 2011-05-13 12:19:39

+0

抱歉,迟到的回复,我去睡了很长的一晚 – syllogismos 2011-05-13 12:21:47

0

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