我正在尝试使用bulkloader将我的数据加载到App-Engine服务器。我使用Python 2.5运行以下命令: -
appcfg.py upload_data --application=myappname --kind=mykind
--filename=data_archive.csv --url=http://myappname.appspot.com/remote_api
但它失败了这个身份验证错误: -
[INFO ] Connecting to myappname.appspot.com/remote_api
[ERROR ] Exception during authentication
URLError: <urlopen error [Errno 10061] No connection could
be made because the target machine actively refused it>
[INFO ] Authentication Failed
我的想法是从我的开发服务器进行批量下载,然后使用此转储上传到app-engine服务器。批量下载工作正常。我使用这种格式: -
appcfg.py download_data --application=myappname --kind=mykind
--url=http://localhost:8888/remote_api --filename=data_archive.csv
但是大量加载失败了。有两件事:批量下载要求我提供用户ID和密码,但批量上传却没有。另外,我目前没有app.yaml文件,我看到了很多 - 我需要一个这样做吗?
提前感谢您的帮助。 微米。
修改 对于任何正在努力解决这个问题的人来说,问题确实是代理服务器背后的问题,但是上面的内容还有另一个“错误”。 app-id需要添加“s~”位。
appcfg.py upload_data --application=s~myappname --kind=mykind
--filename=data_archive.csv --url=http://myappname.appspot.com/remote_api
答案 0 :(得分:0)
app.yaml是如何找到您的服务器的。我不确定如何在没有人的情况下尝试上传。
除了指向生产服务器的app.yaml之外,生产服务器还需要打开remote_api(在它的app.yaml和您尝试访问的版本中):
builtins:
- remote_api: on
答案 1 :(得分:0)
这不是身份验证问题 - 该邮件是红色鲱鱼 - 您的计算机根本无法联系App Engine应用程序。您是否需要通过代理才能进行外部连接?
答案 2 :(得分:0)
使用bulkloader时你不需要--application = s~myappname - 谷歌之前曾提到过:
警告!不要使用--application =标志来获取应用程序ID 使用批量加载器时。相反,请使用--url =。
有关详细信息,请查看此处: https://developers.google.com/appengine/docs/python/tools/uploadingdata