通过c#AWS SDK在DynamoDB中删除

问题描述 投票:1回答:1

获取错误“在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函数。

任何人都知道我为什么会收到此错误以及如何解决它?

c# .net amazon-web-services amazon-dynamodb aws-sdk
1个回答
0
投票

在不知道自定义函数或模型本身背后的代码的情况下,很难说清楚。但错误告诉我们的是,键必须是原始(字符串,数字或二进制)值,而不是。

按照文档,

创建表或辅助索引时,必须指定每个主键属性(分区键和排序键)的名称和数据类型。此外,每个主键属性必须定义为类型字符串,数字或二进制。

Check out the AWS docs on Dynamo here

如果您可以发布模型和底层代码,则可以更轻松地识别实际问题。

© www.soinside.com 2019 - 2024. All rights reserved.