0
votes

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 
3
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? - Nick Johnson
Nick, you are absolutely correct. When running without the proxy it runs fine. Many thanks ! - MickeyR

3 Answers

0
votes

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?

0
votes

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

0
votes

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