Using Python, I'm trying to connect to my AppEngine app's remote_api handler, but I keep getting an error. What I want to do is set up the remote_api stubs to route database calls through that and access my app's datastore directly. So, first, I import the remote_api libraries, then call the ConfigureRemoteApi on the stub module, and try to use the calls to the remote datastore. Here's some sample code:
from google.appengine.ext.remote_api import remote_api_stub
def test_remote_api():
# This function is called when I want to use the remote api instead of the local datastore access
remote_api_stub.ConfigureRemoteApi('myapp.appspot.com', '/_ah/remote_api', auth_func, '')
def auth_func:
# This actually returns a tuple with my credentials to skip the console input
return ('username', 'password')
Ok, now, I've tested my login information and the app name with remote_api_shell.py, but I get an error like this:
File "C:\Program Files(x86)\Google\google_appengine\google\appengine\tools\dev_appserver_blobstore.py", line 79, in GetBlobStorage
return apiproxy_stub_map.apiproxy.GetStub('blobstore').storage
AttributeError: 'RemoteStub' object has no attribute 'storage'
And then I get a 404: Not Found from the application, which I know to be wrong since accessing the app from the Web does give me the result. What do I need to do to set up the remote_api_stub so I won't get this error?
Thanks!
assuming you are using high replication datastore now...
Your app_id is probably wrong, and you also need to pass the address parameter. I whipped this up a while back while reading the oreilly book for appengine(book is severely out of date and not recommended)
If you are only interested in accesing the datastore you can avoid the stub error with the testBed: