Como sabemos, en el motor de aplicaciones de Google, por cada cuenta de correo electrónico registrada, podemos hacer 10 aplicaciones. Ahora, necesito compartir entidades entre las aplicaciones. es posible? En caso afirmativo, ¿cómo se implementa?¿Puedo acceder a entidades de Datastore de mis otras aplicaciones de Google App Engine?
Respuesta
No, esto no se puede hacer. Sin embargo, como señala Nick Johnson, puede usar remote_api para hacer lo que necesita.
gracias por la respuesta rápida, acabo de hacer una ejecución rápida arrojó el sitio, y quiero preguntarle (podría ser escuchado tonto), se puede usar con la aplicación implementada en Java ya que toda la codificación se hace en Python. –
@VISD [Aquí tiene] (http://code.google.com/appengine/docs/java/tools/remoteapi.html) la versión de Java. –
Compruebe el ISSUE con GAE antes de implementarlo como se indica en la documentación. Intenté implementarlo como se dijo allí pero con un fallo debido al problema. Su solicitud a la API remota llegará al servidor de destino pero no realizará nada. Espero que el problema se resuelva pronto.
¿Estás seguro de que realmente necesitas hacer esto? No olvide, puede tener múltiples versiones de una aplicación que se ejecuta en el mismo almacén de datos. Solo 1 versión de la aplicación es su "predeterminado" y obtiene su nombre de dominio no appspot.com, pero puede tener bases de datos completamente diferentes ejecutándose en el mismo datastore/memcache direccionable con ..appspot.com
No lo hago sé si esto satisface tus necesidades pero pensé que lo tiraría allí.
No pude entenderte. Lo siento, puede ser porque soy novato, pero nunca he oído hablar de "appspot".com "nombre de dominio para la aplicación GAE. Por favor, vincule el recurso de donde obtuvo la información. –
En appengine puede alias un dominio" normal "(www.foo.com) que ha registrado para apuntar a su dominio de appspot.com. Así que si su dominio appengine es foo.appspot.com, puede tenerlo visible para sus usuarios como www.foo.com. Pero este dominio siempre apuntará a la versión "predeterminada" de su aplicación. También podría tener algo como cms .foo.appspot.com que apunta a otra versión de tu código que vive en appengine. Estas dos bases de código comparten el almacén de datos, Memcache, etc. pero solo 1 se puede aliasar de esta manera. –
Aquí hay un enlace para obtener más información .. http: //stackoverflow.com/questions/817809/how-to-use-google-app-engine-with-my-own-domain-not-subdomain –
Hay una nueva posibilidad: si una de las aplicaciones puede ser "parte de" otra, you can have it be a "module".
Por activating Cloud Datastore access en la configuración de App Engine que es posible compartir un almacén de datos con otras aplicaciones de App Engine (o aplicaciones de terceros) .
Yo lo puedo hacer usando el acceso API de Cloud Datastore. Hasta ahora, no puedo hacerlo usando la biblioteca ndb.
Este es el código (Python) en su aplicación actual:
from google.appengine.api import app_identity
scope = "https://www.googleapis.com/auth/datastore"
authorization_token, _ = app_identity.get_access_token(scope)
headers = {'Content-Type': 'application/json', "Authorization": "Bearer " + authorization_token}
payload = {"gqlQuery": { "queryString": "SELECT * FROM Entities"} }
url = "https://datastore.googleapis.com/v1beta3/projects/otherAppName:runQuery"
result = urlfetch.fetch(url, payload=json.dumps(payload), method=urlfetch.POST,
follow_redirects=True, headers=headers)
acaba de cambiar "otherAppName" con el nombre corto de la otra aplicación de App Engine, cuyo almacén de datos al que desea acceder. Cambie "Entidades" con el nombre del Modelo al que desea acceder. Recuerde dar acceso a su aplicación actual en la otra aplicación NameName (menú IAM en la consola de la nube), establezca permisos en [email protected] para acceder al almacén de datos/proyecto
En el resultado obtendrá la respuesta, debe json- analízalo y obtendrás un detalle de nivel muy bajo de las entidades del almacén de datos de la consulta (incluidas las claves, las rutas, los nombres de los campos, los tipos y el valor de cada campo y cada fila de los resultados). Si tiene ndb.JsonProperties recibirá un valor BLOB (DATABLOB en el siguiente código de ejemplo), debe transformarlo:
from google.appengine.ext.bulkload import transform
b = json.loads(transform.blobproperty_from_base64(DATOBLOB))
Hope esto le puede ayudar. Estoy esperando la respuesta usando ndb en mi otra publicación: GAE NDB Datastore new feature: Access Datastore entities from other GAE app
- 1. Grupos de entidades en Google App Engine Datastore
- 2. Google App Engine - Datastore get_or_insert key_name confusion
- 3. Google App Engine Datastore Faceted Search
- 4. App Engine Datastore access
- 5. Directrices de diseño sin esquema para Google App Engine Datastore y otras bases de datos NoSQL
- 6. Cómo eliminar la entidad de Google App engine Datastore?
- 7. Herramientas GIS usando el Datastore de Google App Engine?
- 8. Cómo consultar la entidad padre de la entidad secundaria en Google App Engine (Python) NDB/Datastore?
- 9. ¿Almacena datos jerárquicos en Google App Engine Datastore?
- 10. Cassandra Client API ¿Más similar a App Engine Datastore API?
- 11. Google App Engine Locking
- 12. ¿Alguien probó MongoDB en Google App Engine?
- 13. App Engine: restricciones en el valor `kind` de Datastore Entities?
- 14. Más rápido App Engine Development Datastore Alternativa
- 15. Conexión de dominio a Google App Engine sin google apps
- 16. Google App Engine Error de aplicación 5
- 17. Despliegue multidominio de aplicaciones de Google App Engine (GAE)
- 18. ¿Puedo escribir partes del código de Google App Engine en Java, otras partes en Python?
- 19. Google App Engine
- 20. cómo registrar más de 10 aplicaciones en Google App Engine
- 21. ¿Puedo deshabilitar GZIP en Google App Engine?
- 22. Google App Engine - incremento automático
- 23. Google App Engine JDO 3
- 24. debería dejar Google App Engine?
- 25. Google app engine & CDN
- 26. Google App Engine: ¿cómo puedo acceder mediante programación a las propiedades de mi clase Model?
- 27. Lista de referencias en Google App Engine para Python
- 28. Google-app-engine NDB
- 29. Organización de grupos de entidades en Google App Engine para escribir
- 30. ¿Para qué puedo usar Google App Engine?
¿Por qué necesita compartir entidades de almacenamiento de datos entre su aplicación? Recuerde que la sección 4.3c de los Términos del servicio de la aplicación nos prohíbe usar '' múltiples aplicaciones para simular o actuar como una sola aplicación o acceder de otra forma al servicio de una manera que pretenda evitar incurrir en tarifas ''. –