У меня есть простая таблица в DynamoDB
Имя: TEST
Основной ключ раздела: ID
Я прочитал, что эффективный способ очистки таблицы DynamoDB - это удалите таблицу и затем воссоздайте ее.
Итак, я написал это:
public bool DeleteAllRecords()
{
DeleteTableRequest deleteTableRequest = new DeleteTableRequest
{
TableName = "TEST"
};
TableDescription tableDescription = _dynamoDbClient.DeleteTable(deleteTableRequest).TableDescription;
CreateTableRequest createTableRequest = new CreateTableRequest
{
TableName = tableDescription.TableName,
AttributeDefinitions = tableDescription.AttributeDefinitions,
KeySchema = tableDescription.KeySchema,
ProvisionedThroughput = new ProvisionedThroughput
{
ReadCapacityUnits = tableDescription.ProvisionedThroughput.ReadCapacityUnits,
WriteCapacityUnits = tableDescription.ProvisionedThroughput.WriteCapacityUnits
}
};
CreateTableResponse response = _dynamoDbClient.CreateTable(createTableRequest);
return true;
}
Когда я запускаю вышеизложенное, я получаю это исключение.
2 проверки обнаружены ошибки: значение null в 'keySchema' не удовлетворяет ограничению: элемент не должен быть нулевым; Значение null в 'attributeDefinitions' не удовлетворяет ограничению: элемент не должен быть нулевым
Значения keySchema и attributeDefinitions, возвращаемые в tableDescription, являются пустыми списками. Если в таблице не было значений, для начала / где я могу получить эти значения; имея в виду, что они могут иметь значения в какой-то момент.