app-engine-ndb相关内容

具有多个不等式的 App Engine NDB 查询?

此处仅有的两个答案基本上涉及重构数据库以适应此限制,但我不确定在我的情况下如何做到这一点. 我有一个包含数千个联系人的列表,每个联系人都有许多属性.我正在制作一个能够同时过滤多个属性的页面. 例如:年龄 15 天前,位置 == 圣克鲁斯等.可能需要大量的不等式过滤器.如何在 GAE 中实现这一目标? 解决方案 根据 文档(用于 Python)、 限制:数据存储区对查询实施 ..
发布时间:2021-11-16 19:58:03 其他开发

将 NDB 数据存储记录导出到 Cloud Storage CSV 文件

在我的 NDB 数据存储中,我有超过 200 万条记录.我想将这些按 created_at 日期分组的记录导出到 Google Cloud Storage 上的 CSV 文件中.我计算出每个文件大约为 1GB. 2014-03-18.csv,~17000 条记录,~1GB2014-03-17.csv,~17000 条记录,~1GB2014-03-18.csv,~17000 条记录,~1GB... ..

在 ndb tasklet 中使用 images.get_serving_url_async() 是否安全?

NDB tasklets 和 yield 是执行异步/并行代码的好方法.但是,文档中并不清楚这种机制是否可以安全地用于非 ndb 异步函数,例如 images.get_serving_url_async(). NDB 异步操作文档页面有一个非常小的关于使用 NDB 上下文自己版本的 urlfetch_async() 的部分,其中说明(强调我的): 网址提取服务有自己的异步请求 API. ..
发布时间:2021-11-16 19:57:51 其他开发

ndb 在没有父级的情况下通过 ID 检索实体键

我想获得一个知道实体 ID 和祖先的实体键.ID 在祖先定义的实体组中是唯一的.在我看来,使用 ndb 接口是不可能的.据我了解数据存储可能是由于此操作需要执行完整索引扫描这一事实造成的.我使用的解决方法是在模型中创建一个计算属性,该属性将包含密钥的 id 部分.我现在可以进行祖先查询并获取密钥 class SomeModel(ndb.Model):ID = ndb.ComputedProper ..
发布时间:2021-11-16 19:57:45 其他开发

NDB 中 Entity.all(keys_only=True).fetch(20) 的等价物是什么?

如何在 NDB 中获得以下查询的等效结果? Entity.all(keys_only=True).fetch(20) 我知道您可以将 'keys_only=True' 传递给 iter() 方法.但是,如果我只想执行密钥获取,我该如何在 NDB 中执行此操作? 解决方案 在 GAE NDB 文档中找到它.答案是Entity.query().fetch(20,keys_only=True ..

Appengine NDB:放置 880 行,超出数据存储区写入操作配额.为什么?

我有一个应用程序,它使用 put_async() 将 880 行导入到 NDB 数据存储中.每当我运行此导入时,它都会超过对数据存储进行 50,000 次写入操作的每日配额. 我试图了解为什么此操作如此昂贵,以及如何做才能保持在配额内. 有 13 列,如下所示: stringbool = ['true', 'false']类啤酒菜单(ndb.Model):名称 = ndb.Strin ..

在 Google App Engine 数据存储区中获取一个不属于列表的随机实体

我正在使用 Google App Engine 构建网络游戏.游戏有一个存储的用户创建的关卡列表(可能很多,并且动态增加),每个用户都有一个他已经玩过的关卡列表.我需要为一个他以前没有玩过的用户随机选择一个级别.实体建模如下: 类用户(ndb.Model):uid = ndb.StringProperty()levels_played = ndb.KeyProperty(kind='Level ..
发布时间:2021-11-16 19:57:31 其他开发

Google App Engine Datastore (ndb) 中的多对多关系

我有两个模型:成员和事件.一个会员可以参加很多活动,在一个活动中,有很多参与者.我是这样想的: 类成员(ndb.model):事件= ndb.KeyProperty(重复=真)类事件(ndb.model):成员 = ndb.KeyProperty(重复=真) 处理多对多关系的最佳方法是什么? 解决方案 我认为在这种情况下,您希望一个模型中的键数组/列表指向另一个模型.由于数组/列表的长 ..
发布时间:2021-11-16 19:57:28 其他开发

App Engine 上 Cloud Datastore 的客户端库 - NDB 或 google-cloud-datastore

根据 Google 的文档,我似乎有两个使用 Python 连接到 Datastore 的主要选项:App Engine 的 NDB Datastore 库和适用于 Python 的 Google Cloud Datastore API. 我目前使用的是 App Engine(标准版),但我想构建我的应用,使其在需要时可以扩展,可能是通过迁移到 Compute Engine.考虑到这一点,我 ..

App Engine 实例内存不断增加

我希望我的应用引擎实例 (Python) 的内存使用量在初始启动期后相对平稳.对我的应用程序的每个请求都是短暂的,似乎应该在不久之后释放单个请求的所有内存使用情况. 然而,实际情况并非如此.下面是控制台提供的实例内存使用情况的快照.我的应用程序流量相对较低,所以我通常只运行一个实例.在图表中的两天期间,内存使用趋势不断增加.(这两个 blip 是两个实例短暂运行的地方.) 我经常遇到内 ..

使用数据存储 (NDB)、搜索 API 或两者来查看数据?

在 CMS 中,使用带排序的常规 NDB 查询检索客户列表.为了允许过滤姓名、公司名称和电子邮件,我创建了几个(有时很多)索引.情况并不理想,但可行. 现在有了(实验性的)搜索 API.它似乎与数据存储区(或 NDB)无关,但我的数据已经在那里了. 我想使用全文搜索并同时在多个字段上放置过滤器,所以我应该将数据保留在数据存储区中并在文档中复制部分数据以供搜索 API 使用吗?或者,如搜 ..

跟踪 NDB 中未知种类的反向引用

我正在编写我的第一个基于 GAE 和 Python 2.7 运行时的 RESTful Web 服务;我已经开始使用 Guido 闪亮的新 ndb API. 但是,我不确定如何在没有原始数据库 API 的隐式反向引用功能的情况下解决特定情况.如果用户代理请求特定资源并且这些资源被删除 1 度: host/api/kind/id?depth=2 考虑到相关实体的类型在开发时未知,从一 ..

为 App Engine NDB 模型指定 key_name 的最佳方法是什么?

我正在尝试创建一个 ndb 模型,其中每条记录都有一个唯一的字段“名称".我想将此字段定义为 key_name 字段并使用它来查找记录.我是否必须包含名称字段,或者我可以以某种方式将 key_name 字段设置为用户可以指定的任意字符串,只要它是唯一的? 我正在考虑使用 Model.get_or_insert 来确保旧记录不会被覆盖,但是有没有办法判断返回值是新创建的还是预先存在的?如果用户 ..
发布时间:2021-11-16 19:57:10 其他开发