当我尝试使用 DocumentObject 模型从 C# 创建一个 dynamodb 表时。我遇到了这个错误,在互联网上做了一些搜索,但找不到解决的确切问题。错误是
No defined key schema. A key schema containing at least a hash key must be defined for all tables
在分配所有键模式后创建动态表期间。
最佳答案
所以早些时候使用相同的 .Net DocumentModel 在 C# 中成功创建了一个 dynamo 表,但是当试图在另一个项目中重复时这看起来很奇怪。当我比较工作代码和错误代码时,解决方案就出现了。
// coordindex
var coordindex = new GlobalSecondaryIndex
{
IndexName = "coordindex",
ProvisionedThroughput = new ProvisionedThroughput
{
ReadCapacityUnits = (long)10,
WriteCapacityUnits = (long)1
},
Projection = new Projection { ProjectionType = "ALL" }
};
useridindex.KeySchema = FeedTbl.tableKeySchema3;
上面最后一行是创建一个错误,但是这个错误会在创建表时抛出
CreateTableResponse result = amazonDynamoDBclient.CreateTable(createTableRequest);
解决方案变化如下
coordindex.KeySchema = FeedTbl.tableKeySchema3;
因为 useridindex 已分配给之前的 tablekeyschema,而 coordindex schema 由于人为错误而未分配。
希望这至少对某些人有所帮助。 谢谢 干杯。
关于c# - Dynamodb : No defined key schema. 必须为所有表定义至少包含哈希键的键模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48109455/