Articles of google cloud datastore

Cómo borrar el caché para un modelo específico en NDB

Estoy en el proceso de transición al NDB y estoy usando dos conjuntos de modelos: uno basado en el antiguo google.appengine.ext.db y otro basado en el nuevo google.appengine.ext.ndb . Me gustaría usar modelos basados ​​en NDB para solo lectura y conservar el almacenamiento en caché integrado en NDB, mientras que puedo almacenar cambios usando los […]

Acceso a la clave de objeto relacionada sin recuperar el objeto en App Engine

En general, es mejor hacer una sola consulta en lugar de muchas consultas para un objeto determinado. Digamos que tengo un montón de objetos ‘hijo’ cada uno con un ‘padre’. Me sale todos los objetos ‘hijo’: sons = Son.all() Entonces, me gustaría conseguir todos los padres para ese grupo de hijos. Hago: father_keys = {} […]

“Demasiada disputa” al crear una nueva entidad en dataStore

Esta mañana, mi aplicación GAE generó varios registros de errores: “demasiada contención en estas entidades del almacén de datos. Por favor, inténtalo de nuevo”. En mi opinión, este tipo de error solo ocurre cuando varias solicitudes intentan modificar la misma entidad o entidades en el mismo grupo de entidades . Cuando recibí este error, mi […]

Usando menos operaciones pequeñas del almacén de datos en appengine

Estoy armando un álbum de fotos básico en Appengine usando Python 27. He escrito el siguiente método para recuperar detalles de imágenes del almacén de datos que coinciden con una “aventura” en particular. Estoy usando límites y compensaciones para la paginación, sin embargo, es muy ineficiente. Después de navegar en 5 páginas (de 5 fotos […]

gcloud.exceptions.Forbidden: 403 Permisos faltantes o insuficientes

Soy nuevo en Google Cloud Platform. He configurado una instancia de Google VM. Estoy enfrentando un problema de autenticación en la máquina local mientras ejecuto el comando: python manage.py makemigrations ¿Puede por favor sugerir algunos consejos / pasos para resolver el mismo? Traza de error File “/constants.py”, line 18, in table_data = datastore_fetch(project_id, entity_kind) File […]

Implementando consultas de “Empieza con” y “Finaliza con” con Google App Engine

¿Me pregunto si alguien puede proporcionar alguna guía sobre cómo podría implementar un inicio o finalización de una consulta en un modelo de Datastore usando Python? En pseudo código, funcionaría algo así como … Consulta para todas las entidades A donde la propiedad P comienza con X o Consulta para todas las entidades B donde […]

Google App Engine NDB: ¿Cómo almacenar la estructura del documento?

Desde la documentación de App Engine NDB: La API de NDB proporciona almacenamiento persistente en un almacén de datos de objetos sin esquemas. Admite el almacenamiento en caché automático, consultas sofisticadas y transacciones atómicas. NDB está bien adaptado para almacenar registros de datos estructurados. Quiero crear una estructura como la siguiente utilizando NDB, donde cada […]

Lectura de retraso en el almacén de datos de App Engine después de poner ()

Escribo un código para un blog / sitio de noticias. La página principal tiene los 10 artículos más recientes y también hay una sección de archivo con todos los artículos ordenados por tiempo de modificación descendente. En la sección de archivo, uso la paginación basada en cursores y almaceno en caché los resultados a partir […]

¿Una forma eficiente de consultar en un bucle for en Google App Engine?

En la documentación de GAE, establece: Debido a que cada operación get () o put () invoca una llamada a procedimiento remoto (RPC) separada, emitir muchas de esas llamadas dentro de un bucle es una forma ineficiente de procesar una colección de entidades o claves a la vez. Quién sabe cuántas otras ineficiencias tengo en […]

db.ReferenceProperty () vs ndb.KeyProperty en App Engine

La propiedad de referencia fue muy útil para manejar las referencias entre dos módulos. Ejemplo de Fox: class UserProf(db.Model): name = db.StringProperty(required=True) class Team(db.Model): manager_name = db.ReferenceProperty(UserProf, collection_name=’teams’) name = db.StringProperty(required=True) Para obtener ‘manager_name’ con la instancia de equipo, usamos team_ins.manager_name. Para obtener “equipos” que son administrados por una instancia de usuario particular, usamos user_instance.teams […]