On Tue, Aug 4, 2009 at 8:00 PM, Nick_Zaillian<nzaill...@gmail.com> wrote:
>
> Thanks Nick J,
> Alright.  This is probably just me being stupid, but I've been beating
> my head against the wall for, like, an hour trying to get things
> working.  I wrote a simple app.yaml file with your remote_api mapping
> and deployed it to App Engine as v2 of my app.  The console view gives
> me access to the datastore, so I think this is all fine.

App versions are strings, not integers - you might want to call it
something like 'remote_api' - or anything you like.

> I modified your appengine_console.py such that the call to
> ConfigureRemoteDatastore now reads:
>
> remote_api_stub.ConfigureRemoteDatastore(app_id=None, path='/
> remote_api', auth_func=auth_func, servername='http://
> 2.latest.nicksmap.appspot.com/')

The servername parameter needs to be a server name, not a URL - eg,
just "2.latest.nicksmap.appspot.com".

-Nick Johnson

>
> I've visited the url "http://2.latest.nicksmap.appspot.com/remote_api";
> in my browser and it seems to be active (I see "This request did not
> contain a necessary header" rather than some 403/404 error message) so
> I'm pretty sure that my app configuration is alright.  When I run
> "python appengine_console.py [appid]" (with my app id -- though I know
> that last argument doesn't really do anything anymore) in the shell, I
> get an error message reading as follows:
>
> Traceback (most recent call last):
>  File "appengine_console.py", line 27, in <module>
>    remote_api_stub.ConfigureRemoteDatastore(app_id=None, path='/
> remote_api', auth_func=auth_func, servername='http://
> 2.latest.nicksmap.appspot.com/')
>  File "/home/nick/google_appengine/google/appengine/ext/remote_api/
> remote_api_stub.py", line 433, in ConfigureRemoteDatastore
>    response = server.Send(path, payload=None, **urlargs)
>  File "/home/nick/google_appengine/google/appengine/tools/
> appengine_rpc.py", line 344, in Send
>    f = self.opener.open(req)
>  File "/usr/lib/python2.5/urllib2.py", line 381, in open
>    response = self._open(req, data)
>  File "/usr/lib/python2.5/urllib2.py", line 399, in _open
>    '_open', req)
>  File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
>    result = func(*args)
>  File "/usr/lib/python2.5/urllib2.py", line 1107, in http_open
>    return self.do_open(httplib.HTTPConnection, req)
>  File "/usr/lib/python2.5/urllib2.py", line 1064, in do_open
>    h = http_class(host) # will parse host:port
>  File "/usr/lib/python2.5/httplib.py", line 639, in __init__
>    self._set_hostport(host, port)
>  File "/usr/lib/python2.5/httplib.py", line 651, in _set_hostport
>    raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
> httplib.InvalidURL: nonnumeric port: ''
>
> Not really sure what's going on here.  I think that the parameters
> that I'm passing to the ConfigureRemoteDatastore method are valid,
> right?  Any thoughts?
>
> I'm sure that Remote API is a great tool and I'm eager to be able to
> work with it.
>
> - Nick Z
>
>
> On Aug 4, 8:04 am, "Nick Johnson (Google)" <nick.john...@google.com>
> wrote:
>> Hi Nick,
>>
>> If you're happy to use a Python local client, you can do the following:
>>
>> - Create a Python app.yaml with the same app_id as your Java app, but
>> a different major version.
>> - Install the remote_api mapping in the app.yaml
>> - Deploy the Python app to App Engine
>> - When you initialize remote_api with ConfigureRemoteDatastore, pass
>> the parameter server="majorversion.latest.myapp.appspot.com"
>> (substituting majorversion and latest as appropriate).
>>
>> You can now access your Java app's datastore via Python Remote API.
>>
>> -Nick Johnson
>>
>>
>>
>> On Tue, Aug 4, 2009 at 3:19 AM, Nick_Zaillian<nzaill...@gmail.com> wrote:
>>
>> > Just to clarify: I wouldn't mind working in Python on the local end of
>> > things if that were necessary (because that would just mean rewriting
>> > one or two routines).  What I am unwilling to do is to rewrite my
>> > whole application in Python just so that I can make use of the Remote
>> > API/AppRocker/App3.  It looks to me like Remote API, AppRocket and
>> > app3 are all just python scripts, so I'm not too hopeful about the
>> > prospect of integrating them with my java app.  App3 is probably the
>> > closest thing to what I'm looking for.  It occurs to me that it may
>> > not be so complicated to implement this sort thing in java on my own,
>> > so I may just go ahead and try to do that...unless someone has a
>> > better idea.
>> > Cheers,
>> > Nick
>>
>> > On Aug 3, 11:58 pm, Nick_Zaillian <nzaill...@gmail.com> wrote:
>> >> I would like to be able to do some batch processing for a site I'm
>> >> running on GAE (at nicksmap.org).  Right now I've got various database
>> >> maintenance routines bound to URLs that I hit with cron.  Problem is
>> >> that one of these routines requires a few minutes to excecute.  And
>> >> can (and sort of have) hacked up a workaround, but I would be able to
>> >> stretch my quotas much further if I could use something like Remote
>> >> API, App Rocket, or app3.  So far as I can tell, though, all of these
>> >> tools are python only (or am I mistaken?).  Any thoughts on how I
>> >> might be able to accomplish what I'm trying to accomplish (basically
>> >> be able to take a hunk of records from my database and run some time-
>> >> consuming routines on them on a local machine so as not to have to
>> >> hack around the 30 second cutoff for processes)?
>> >> Thanks,
>> >> Nick Zaillian
>>
>> --
>> Nick Johnson, Developer Programs Engineer, App Engine
> >
>



-- 
Nick Johnson, Developer Programs Engineer, App Engine

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to