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