Метод batchWrite для DocumentClient и GSI
Я пытаюсь удалить некоторые элементы из таблицы DynamoDB. Моя таблица имеет глобальный вторичный индекс. И мне интересно, можно ли использовать метод batchWrite для DocumentClient для удаления элементов из таблицы GSI. Или мы можем использовать GSI только для получения данных?
var params = {
RequestItems: {
'Table-1': [
{
DeleteRequest: {
Key: { HashKey: 'someKey' }
}
}
]
}
};
documentClient.batchWrite(params, function(err, data) {
if (err) console.log(err);
else console.log(data);
});
если возможно, приведите пример параметров.
1 ответ
Вы не можете удалить из GSI. Эти индексы в основном предназначены только для чтения: вы не можете изменить данные в таблице через глобальный вторичный индекс, поэтому не нужно вставлять, удалять или обновлять.
Вы можете только читать из GSI, а затем реализовать необходимую логику для удаления элементов в основной таблице по ключу.
Кроме того, пакетная операция не повышает эффективность удаления этих элементов: да, она экономит на сетевых вызовах (до 25:1), но не на используемой емкости записи.