Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK
2010-08-11 00:00:00 来源:WEB开发网在创建了一个 Runners域并将参赛者添加到域中时,我可以更新一个现有比赛并在其中添加我的参赛者,如清单 10 所示:
清单 10. 更新一个比赛来保留两个参赛者
races.add(new ReplaceableItem().withName("Race_01").withAttributes(
new ReplaceableAttribute().withName("Name").withValue("Charlottesville Marathon"),
new ReplaceableAttribute().withName("Distance").withValue("026.2"),
new ReplaceableAttribute().withName("Runners").withValue("Runner_01"),
new ReplaceableAttribute().withName("Runners").withValue("Runner_02")));
底线在于关系是可行的,但是您必须在 SimpleDB 之外对其进行管理。如果您想获取 Race_01中所有参赛者的全名,例如,您需要在一个查询中获取名称,然后针对 runner域执行查询(本例中是两个查询,因为 Race_01仅有两个属性值)来获取答案。
清理操作
清理工作很重要,因此我最后将介绍如何使用 Amazon 的 SDK 执行快速清理。清理操作与创建和查询数据操作没有多大区别;您只需创建 Request类型并进行删除即可。
删除 Race_01很简单,如清单 11 所示:
清单 11. 在 SimpleDB 中执行删除
sdb.deleteAttributes(new DeleteAttributesRequest(domain, "Race_01"));
如果我使用了一个 DeleteAttributesRequest来删除项目,你认为我删除一个域需要使用什么?您猜到了:DeleteDomainRequest!
清单 12. 在 SimpleDB 中删除一个域
sdb.deleteDomain(new DeleteDomainRequest(domain));
旅程尚未结束!
我们尚未完成借由 Amazon SimpleDB 的云中旅行,但是我们目前已经介绍完了 Amazon SDK。Amazon 的 SDK 是功能较多,且在某种程度上会很有用,但是如果您想建模对象 —比如比赛和参赛者 —您可能希望利用 JPA 之类的工具。下个月,我们将探寻在合并 JPA 和 SimpleDB 时会发生什么。在此之前,请尽情体会字典式搜索!
更多精彩
赞助商链接