simpledb: перезаписать элемент и заменить все атрибуты - PullRequest
0 голосов
/ 02 августа 2011

Как я могу перезаписать элемент и заменить все его атрибуты.

Например, у меня есть элемент A со следующими атрибутами

ItemA

AttrA = ValueA
AttrB = ЗначениеB

Теперь я хочу обновить ItemA со следующими атрибутами

ItemA (Обновлено)

AttrB = ValueB1
AttrC = ValueC

Я использую Java SDK.Я не хочу удалять элемент, а затем создавать его.В настоящее время я использую BatchPutAttributesRequest для повторного создания элемента, но, что удивительно, он не удаляет атрибуты, которые отсутствуют в обновленном элементе.

Таким образом, я в итоге получаю Item

ItemA

AttrA = ValueA
AttrB = ValueB1
AttrC = ValueC

1 Ответ

0 голосов
/ 03 августа 2011

Запрос BatchPutAttributesRequest не удаляет существующий атрибут, который вы не включили в свой запрос. Вам нужно отправить еще один запрос DeleteAttributesRequest в Amazon SimpleDB, указав список атрибутов, которые вы хотите удалить. BatchPutAttributesRequest может только добавлять новый атрибут или обновлять существующее значение атрибута.

...