开发者

Google App Engine Bulkloader “Authentication Failed”

I'm trying to use the bulkloader to load my data to the App-Engine server. I run the following command using Python 2.5:-

appcfg.py upload_data --application=myappname --kind=mykind    
--filename=data_archive.csv --url=http://myappname.appspot.com/remote_api 

But its failing with this Authentication error:-

[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

My idea is to do a bulk download from my development server and then use this dump to do a upload to the app-engine server. The bulk download worked fine. I used this format for this:-

appcfg.py download_data --application=myappname --kind=mykind 
--url=http://localhost:8888/remote_api --filename=data_archive.csv

But the bulk upoad fails. A couple of things: the bulk download asked me for a userid and password, but the bulk upload does not. Also, I don't currently have a app.yaml file which I see mentioned a lot - do I need one to do this ?

Thanks in advance for any help. M.

EDIT For anyone else struggling with this, the problem was indeed being behind the proxy server, but there was another 开发者_如何学编程'error' with what is above. The app-id needs the "s~" bit added to it.

appcfg.py upload_data --application=s~myappname --kind=mykind
--filename=data_archive.csv --url=http://myappname.appspot.com/remote_api 


This isn't an authentication issue - that message is a red-herring - your machine is unable to contact the App Engine app at all. Do you have a proxy you need to transit through in order to make external connections?


You do not need --application=s~myappname when using bulkloader - Google have mentioned before:

Warning! Do not use the --application= flag to get the application ID when using the bulk loader. Instead, use --url=.

For more detail take a look here: https://developers.google.com/appengine/docs/python/tools/uploadingdata


app.yaml is how it finds your server. I am not sure how you can try and upload without one.

In addition to having an app.yaml that points to the production server, the production server also needs to have remote_api turned on (in it's app.yaml and in the version you are trying to reach):

builtins:
- remote_api: on
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜