【发布时间】:2020-05-26 01:51:21
【问题描述】:
我在 DynamoDB 中有一个简单的表
名称:测试
主分区键: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 个验证错误:“keySchema”处的值为 null 未能满足约束:成员不得为 null; 'attributeDefinitions' 处的值为 null 未能满足约束:成员不得为 null
tableDescription 中返回的 keySchema 和 attributeDefinitions 的值是空列表。 如果这些值不是从表格开始的,我在哪里/如何获得这些值;请记住,它们可能在某些时候具有值。
【问题讨论】:
标签: c# amazon-dynamodb