是否需要Amazon SimpleDB中的ItemName,因为我似乎无法删除它。我不能创建另一个可以用作"主键"的属性吗?
亲切问候
是的,项目名称是必需的,它是项目的唯一唯一标识符,用于所有项目检索和更新操作(select
操作除外)。
我不知道为什么您不想使用项目名称,这对我来说有点困难,但是当您需要提供项目名称时,您可以自由地使用您想要的任何值填充它。因此,例如,您可以在那里转储 GUID。
由于所有属性都会自动编制索引,因此您可以自由使用select
操作根据所需的任何属性检索项目。这是一个
select * from ExampleDomain where ExampleAttribute = 'foo' limit 1
如果您只查找 itemName(可能在后续删除操作中使用)。
select itemName() from ExampleDomain where ExampleAttribute = 'foo' limit 1
有关select
操作的更多详细信息,请参阅使用选择创建 Amazon SimpleDB 查询。
我应该注意,使用 select
而不是 GetAttributes
有点贵,因为它通常会产生比简单GetAttributes
更高的 BoxUsage,但对于小型工作负载来说,这并不重要。使用您自己的使用模式进行测量。