Я выполняю пакетную запись, чтобы удалить некоторые собранные элементы из таблицы Dynamodb. Поскольку я хочу удалить все, я запускаю пакетную запись, пока UnprocessedItems не определено.
if (result.Items) {
let requestMap: DocumentClient.BatchWriteItemRequestMap = {
[this.tableName]: result.Items.map(item => ({
DeleteRequest: {
Key: {
key,
test,
},
},
})),
};
let hasUnprocessedItems = true;
do {
const retVal = await this.documentClient
.batchWrite({
RequestItems: requestMap,
})
.promise();
if (retVal.UnprocessedItems) {
requestMap = retVal.UnprocessedItems;
} else {
hasUnprocessedItems = false;
}
} while (hasUnprocessedItems);
}
Но когда я оцениваю состояние if (retVal.UnprocessedItems)
, отладчик говорит, что это объект {}
. Таким образом, он никогда не попадает в ветку else, поскольку не определен. Я запускаю Dynambodb local в контейнере.