在尝试从c#中的DynamoDB中删除时,收到错误“发生一个或多个错误。(键属性MyID必须是原始类型”)。
foreach (var doc in docs)
{
Logger.LogInformation($"Deleting docs:");
await DynamoDbService.DeleteListFromTableAsync(new List<Document> { doc }, requestData.tableName);
Logger.LogInformation($"Deleted Docs.");
}
DynamoDbService.DeleteListFromTableAsync在给定文档上运行batchWrite.AddItemToDelete函数。
任何人都知道为什么我会收到此错误以及如何解决该错误吗?
答案 0 :(得分:0)
在不知道自定义函数或模型本身背后的代码的情况下,很难分辨。但是错误告诉我们的是,密钥必须是原始值(字符串,数字或二进制),而不是。
根据文档
创建表或二级索引时,必须指定每个主键属性(分区键和排序键)的名称和数据类型。此外,每个主键属性必须定义为字符串,数字或二进制类型。
Check out the AWS docs on Dynamo here
如果您可以发布模型和基础代码,则可以更轻松地确定实际问题。