【发布时间】:2013-05-01 17:16:31
【问题描述】:
我正在使用低级数据存储 API。我创建了一个这样的实体:
Entity entity = new Entity("Error");
entity.setProperty("description", "foo");
在数据存储查看器中,我看到了这个:
Key Write Ops ID/Name description
----------------------------------------------
ahN0c... 4 259 foo
所以 ID/Name 字段将自动为我生成,因为我没有在 Entity 构造函数中提供任何内容。它生成一个“ID”而不是“Name”,它是一个数字而不是一个不透明的字符串(如“Key”值)。
有没有办法让数据存储区为实体的“ID/名称”字段生成一个随机“名称”而不是“ID”?
我问是因为如果我与第三方共享此 ID,他们可能会开始大致计算出我的系统中有多少错误实例。我宁愿给他们一个不透明的字符串作为查找 ID,类似于自动生成的“Key”字段中的内容。但我没有办法做到这一点。
谢谢
【问题讨论】:
-
有了新的 SDK 和即将发布的 appengine 版本,ID 编号将变得稀疏(即没有特定顺序的非常大的数字),因此没有人可以从中推断出数量。在当前的 SDK 中,我的 id 类似于 6042986275001073664、5241627016305836032