Hey Al,

I'd think of it this way: the connection between an App Engine instance and 
any other computer is likely to be an HTTP request, given that arbitrary 
port connections are disallowed by the sandbox. There is a sockets service, 
but you'd need to find a library which can interface with this service and 
speak MongoDB wire protocol 
<http://docs.mongodb.org/meta-driver/latest/legacy/mongodb-wire-protocol/> 
through the socket.

On Managed VMs <https://cloud.google.com/appengine/docs/managed-vms/>, 
which allow you to run an App Engine -style app in a more permissive 
sandbox by putting your application into a docker container 
<https://cloud.google.com/appengine/docs/managed-vms/#container_technology> 
for deployment, and allowing arbitrary port connections, full file-system 
(FS) access, process-control, and many other OS-level operations not 
possible in the vanilla GAE sandbox. You could use your app's dockerfile to 
download and install a mongoDB client and initiate connections on whichever 
port you like.

However, if you'd like to stick with vanilla GAE, as you don't have need of 
many of the advanced features of Managed VMs, I'd recommend installing and 
configuring a REST API interface for your DB server. There are several out 
there, and even official Mongo docs 
<https://www.npmjs.com/package/mongodb-rest>.

Similar advice goes for redis, and I'll leave you to your google-fu in 
finding the REST API for that. 

XMPP is supported on GAE by the XMPP service 
<https://cloud.google.com/appengine/articles/using_xmpp>, although once 
again, if you desire process control, Managed VMs are what you want, short 
of finding a REST API option. This all derives from the nature of GAE and 
Managed VMs, and the types of connections require by these applications 
(transport layer sockets control).

On a more meta note, the question of MongoDB and GAE has been broached 
several times on stackoverflow [1] 
<http://stackoverflow.com/questions/18819776/access-extrenal-db-service-from-app-engine>
 
[2] 
<http://stackoverflow.com/questions/27089343/accessing-mongodb-from-appengine-app>.
 
I wonder if you checked there during your search? Generally I find the docs 
<https://cloud.google.com/appengine/docs> and google to be invaluable if I 
have a curiosity about what I believe might be an edge case. Granted, none 
of these resources were as thorough as my synthesis into one comment, so I 
hope you find this helpful, and that future google-searches may land in 
this thread.

Regards,

Nick


On Saturday, June 13, 2015 at 6:07:56 PM UTC-4, Al Hennessey wrote:
>
>
> Hi, i am looking to implement google cloud messaging XMPP on the google 
> app engine, but i would also like to implement some redis or mongodb 
> databases on the google compute engine, what is the best documentation 
> available for connecting the two as i cant seem to find any?
>
> Thanks
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/94da5261-e0a4-4d6c-b244-0854346c9e1e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to