Java 不存在哈希键值-AWS DynamoDBMapper.batchLoad
我试图批量加载AWS的Java SDK中的几个项目,但我一直得到一个错误,即不存在哈希键值,即使我为每个值设置了正确的主键。这是我的代码,当我点击Java 不存在哈希键值-AWS DynamoDBMapper.batchLoad,java,amazon-web-services,amazon-dynamodb,aws-lambda,Java,Amazon Web Services,Amazon Dynamodb,Aws Lambda,我试图批量加载AWS的Java SDK中的几个项目,但我一直得到一个错误,即不存在哈希键值,即使我为每个值设置了正确的主键。这是我的代码,当我点击dbMapper.batchLoad()行时会发生崩溃 ArrayList friendsTblsToGet=新建ArrayList() 有人知道我在这件事上哪里会出错吗?我遵循AWS文档,在这里找到: 你能分享Friends类的代码吗?还有,什么是FriendsBlInfo?你有没有用@DynamoDBHashKey注释哈希键。示例@DynamoDB
dbMapper.batchLoad()
行时会发生崩溃
ArrayList friendsTblsToGet=新建ArrayList()
有人知道我在这件事上哪里会出错吗?我遵循AWS文档,在这里找到:
你能分享
Friends
类的代码吗?还有,什么是FriendsBlInfo
?你有没有用@DynamoDBHashKey注释哈希键。示例@DynamoDBHashKey(attributeName=“friendsId”)公共整数getFriendsId(){return friendsId;}friendsTblInfo只是映射值。是的,它是用@DynamoDBHashKey@hermt2我们能够找到这个问题的根本原因。我收到了同样的错误,我不知道是什么导致了这个错误。你能分享Friends
类的代码吗?还有,什么是FriendsBlinfo
?你有没有用@DynamoDBHashKey注释过散列键。示例@DynamoDBHashKey(attributeName=“friendsId”)公共整数getFriendsId(){return friendsId;}friendsTblInfo只是映射值。是的,它是用@DynamoDBHashKey@hermt2我们能够找到这个问题的根本原因。我得到了同样的错误,我不知道是什么导致了这一点。
Friends friendTblOne = new Friends();
friendTblOne.setFriendsId(friendsTblInfo.get("friendId1"));
Friends friendTblTwo = new Friends();
friendTblTwo.setFriendsId(friendsTblInfo.get("friendTbl2"));
friendsTblsToGet.add(friendTblOne);
friendsTblsToGet.add(friendTblTwo);
Map<String, List<Object>> friendsToLoad = dbMapper.batchLoad(friendsTblsToGet);
{
"errorMessage": "Friends[friendsId]; no HASH key value present",
"errorType": "com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException",
"stackTrace": [
"com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel.convertKey(DynamoDBMapperTableModel.java:329)",
"com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel.convertKey(DynamoDBMapperTableModel.java:310)",
"com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.batchLoad(DynamoDBMapper.java:1282)",
"com.amazonaws.services.dynamodbv2.datamodeling.AbstractDynamoDBMapper.batchLoad(AbstractDynamoDBMapper.java:196)",
"com.treyherman.lambda.gifwrap.InteractionInterface.getFriendsTables(InteractionInterface.java:230)",
"com.treyherman.lambda.gifwrap.UserInteractionFunctionHandler.getFriendsTables(UserInteractionFunctionHandler.java:64)",
"sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
"sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"java.lang.reflect.Method.invoke(Method.java:498)"
]