simpledb:覆盖一个项目并替换所有属性

时间:2011-08-02 11:45:37

标签: amazon-simpledb

如何覆盖项目并替换其所有属性。

例如,我有一个项目A,具有以下属性

意达

AttrA = ValueA
  AttrB = ValueB

现在我想用以下属性更新ItemA

意达(更新)

AttrB = ValueB1
  AttrC = ValueC

我正在使用Java SDK。我不想删除该项目然后创建它。目前,我正在使用BatchPutAttributesRequest重新创建项目,但令人惊讶的是,它不会删除更新项目中不存在的属性。

所以我最终得到了项目

意达

AttrA = ValueA
  AttrB = ValueB1
  AttrC = ValueC

1 个答案:

答案 0 :(得分:0)

BatchPutAttributesRequest请求不会删除您未包含在请求中的现有属性。您需要通过指定要删除的属性列表向Amazon SimpleDB发送另一个请求DeleteAttributesRequest。 BatchPutAttributesRequest只能添加新属性或可以更新属性的现有值。