Google App Engine: un almacén de datos para diferentes dominios y aplicaciones
-
03-07-2019 - |
Pregunta
¿Es posible de alguna manera acceder a un almacén de datos? O accede a una aplicación de diferentes dominios.
Solución
Cada aplicación tiene su propio almacén de datos y memcache (compartido entre todas las versiones de esa aplicación).
Parece que no es posible compartir almacenes de datos entre aplicaciones en este momento (a menos que proporcione algún servicio web para eso), pero sería una buena característica, por lo que tal vez debería presentar una solicitud de característica en Google < a href = "http://code.google.com/p/googleappengine/issues/detail?id=1300" rel = "noreferrer"> vote por ello .
En cuanto a los dominios, puede asociar su aplicación con dominios administrados por Google Aplicaciones . Los múltiples dominios para la misma aplicación no deberían ser un problema (excepto los certificados SSL).
Otros consejos
App Engine recientemente agregó soporte para una función llamada módulos (Docs: ir , python , java )
LosApp Engine Modules (o simplemente " Módulos " en lo sucesivo) son una característica que permite a los desarrolladores tener en cuenta las grandes aplicaciones en componentes lógicos que pueden compartir servicios de estado y comunicarse de forma segura. Una aplicación que maneja las solicitudes de los clientes puede incluir módulos separados para manejar otras tareas:
- solicitudes de API desde dispositivos móviles
- solicitudes internas, de tipo administrador
- Procesamiento de fondo, como líneas de facturación y análisis de datos
Cuando creas un nuevo módulo, App Engine creará una url que corresponde al nombre del módulo. Si solo tiene un módulo, el nombre será predeterminado
. por ejemplo
- http: // predeterminado .myapp.appspot.com
- http: // mobile-frontend .myapp.appspot.com
- http: // mi-módulo .myapp.appspot.com
Al utilizar máscara de dominio , puede dirigir desde:
- www.myapp.com = > http: // predeterminado .myapp.appspot.com
- www.myapp-mobile.com = > http: // mobile-frontend .myapp.appspot.com
- www.example.com = > http: // mi-módulo .myapp.appspot.com
Todas las versiones de una aplicación están respaldadas por el mismo almacén de datos. Si desea limitar el acceso para solicitudes individuales, deberá agregar un campo a su modelo para imponer esa restricción. Hay enlaces de bajo nivel en la API del almacén de datos para este tipo de cosas, si quieres llegar tan lejos.
Y sí, puede agregar una sola aplicación App Engine a múltiples dominios, incluso en varias cuentas de aplicaciones.
La solución de Kyle funcionaría, pero App Engine nunca fue diseñado para usarse de esta manera. Entonces, si diseña su (s) aplicación (es) para confiar en este tipo de configuración y Google bloquea por cualquier razón, entonces estaría arruinado.
Puede tener multitenancy utilizando el API de Java del espacio de nombres