amazon-web-services - aws-sdk,如何将 JSONArray 发送到 DynamoDB updateItem() 方法?
问题描述
我无法将 JsonArray 发送到 UpdateItemRequest 的 SetExpressionAttributeValues() 以便能够传递给 DynamoDBClient.updateItem() 方法
以下是 JsonArray ,我想将它传递给 updateItemRequest 的 SetExpressionAttributeValues() 方法。
[{"ID":"T1","Result":1},{"ID":"T2","Result":0}]
我该怎么做?
我尝试使用以下方式,
UpdateItemRequest updateItemRequest = new UpdateItemRequest();
updateItemRequest.setTableName(DYNAMODB_TABLE);
updateItemRequest.withKey(keyMap);
Map attributeNameData = new HashMap<String,AttributeValue>();
attributeNameData.put("#c",new AttributeValue().withS("list1"));
updateItemRequest.withExpressionAttributeNames(attributeNameData);
updateItemRequest.withUpdateExpression("SET #c = list_append(#c, :vals)");
Map expressionAttributeValue = new HashMap<String,AttributeValue>();
expressionAttributeValue.put(":vals",new AttributeValue().withS(jsonOutput));
updateItemRequest.setExpressionAttributeValues(expressionAttributeValue);
但它给出的错误为
com.amazonaws.AmazonClientException: Unable to marshall request to JSON: java.lang.String cannot be cast to com.amazonaws.services.dynamodbv2.model.AttributeValue
我是 Amazon Dynamo DB 的新手,我正在使用 AWS Mobile SDK,但在 AWS 文档中找不到任何有用的东西,有人可以帮我吗?
提前致谢!
解决方案
推荐阅读
- mysql - MySQL:将 SQL 脚本应用于数据库,错误 1826
- java - Java-C++ 绑定:如何在不崩溃的情况下获取已存储作业的 GetOjectClass?
- c++ - 使用子 C++ 从另一个函数调用父函数
- docker - 构建 Docker 映像时出现“apt-get update”错误
- angular - 角垫滑块不显示
- c++ - C++ 中 Round 函数的未知行为
- python - 如何在 matplotlib.pyplot 填充函数后识别其颜色的某些坐标(x,y)?
- unit-testing - 子文件夹中的 Go Gin Gonic 单元测试
- c - C 中的标识符到底是什么?
- react-native - 如果使用 Hooks 重新渲染父级,则防止子级重新渲染