DynamoDB не удалил элемент, даже если обещание вернулось успешно? - PullRequest
0 голосов
/ 15 мая 2018

Я использую DynamoDB DocumentClient для удаления элемента в нескольких таблицах, используя Класс: AWS.DynamoDB.DocumentClient

Проблема заключается в том, что при попытке удалить несколько таблиц используется promised.all(),он не удалил элемент, но не вернул исключение из AWS.Я думаю, потому что я не вернул обещание?

Другое дело, что на странице DynamoDB упоминается емкость записи как:

Одна единица емкости записи представляет однуЗапись в секунду для элементов размером до 1 КБ.Если вам нужно записать элемент размером более 1 КБ, DynamoDB потребуется использовать дополнительные единицы емкости записи.Общее количество требуемых единиц емкости записи зависит от размера элемента.

Если каждый из моих элементов имеет размер 0,4 КБ, я хочу удалить 1000 элементов, то это будет 400 КБ, тогда я должен установитьзаписать емкость единицы как 400 или 1000?(если я вообще не задерживал запрос).

return Promise.all([deleteItemOnTable(table1), deleteItemOnTable(table2)]);

var documentClient = new AWS.DynamoDB.DocumentClient();

function deleteItemOnTable(tablePramas, dataToBeDeleted){
var params = {
  TableName : 'TableName',
  Key: {
    HashKey: 'hashkey',
    NumberRangeKey: 1
  }
};
dataToBeDeleted.forEach(item=>
  var chain = Promise.resolve();
  chain = chain.
    then(()=>{
      documentClient.delete(params, function(err, data) {
        if (err) console.log(err);
        else console.log(data);
      });
    }).then(() => delay(10));
  }
);

1 Ответ

0 голосов
/ 16 мая 2018

Похоже, что параметры вашего запроса не получают никаких ударов по вашим данным.Как выглядят ваши данные?

Для части вопроса о емкости записи это зависит от того, насколько быстро вы хотите, чтобы запись происходила.Для 1000 в секунду формула будет иметь вид:

1KB (0.4KB rounded up) x 1000 writes per second = 1000 write capacity units

Если вы собираетесь распределять записи в течение более длительного периода, скажем, 100 в секунду, формула будет иметь вид:

1KB (0.4KB rounded up) x 100 writes per second = 100 write capacity units
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...