我正在编写简单的程序来执行Amazon DynamoDB操作,我有两个问题,
表达式属性值包含无效键:语法错误;键:val(服务:Amazon DynamoDBv2;状态代码:400;错误代码:ValidationExcture;请求ID:K6B8GC69295KUV9V7J10OCAFJJV4KQNSO5AEMVJF66Q9ASUAAJG),
如何解决这个问题?
如果我想使用updateitem api创建一个新项目,如何实现?谢谢
// update item
UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("year", year, "title", title)
.withUpdateExpression("set year = :val")
.withValueMap(new ValueMap().withNumber("val", 2020))
.withReturnValues(ReturnValue.ALL_NEW);
try {
System.out.println("Updating the item...");
UpdateItemOutcome outcome = table.updateItem(updateItemSpec);
System.out.println("UpdateItem succeeded:\n" + outcome.getItem().toJSONPretty());
}
catch (Exception e) {
System.err.println("Unable to update item: " + year + " " + title);
System.err.println(e.getMessage());
}
您得到的语法错误是由于第一个参数. with Number()
造成的。它应该是一个冒号前缀的标记。也就是说,您需要将"val"
更改为": val"
,如下所示。
更改此行:
.withValueMap(new ValueMap().withNumber("val", 2020))
到:
.withValueMap(new ValueMap().withNumber(":val", 2020))
因此,我在DynamoDB中有一项: 我想添加一个新的属性到上述项目,属性是: 现在,我在JS中使用AWS-SDK这样做: 但是,我得到一个错误: ExpressionAttributeValue包含无效值:一个或多个参数值无效:AttributeValue不能包含key:newAttr的空字符串 所以如果我是这样就可以了,但我不希望这个新属性是一个字符串,我希望它是一个列表。 那么我做错了什么?
问题内容: 我正在尝试查询DynamoDB表以查找未设置属性的所有项目。包含该字段的表上存在一个称为的全局二级索引。 结果: 表定义: 问题答案: DynamoDB的全局二级索引允许稀疏索引。这意味着,如果您有一个GSI,但未定义该项目的哈希或范围键,则该项目将不会直接包含在GSI中。这在许多用例中很有用,因为它使您可以直接识别包含某些字段的记录。但是,如果您缺少字段,则此方法将行不通。 要获取所
我试图创建一个Wordpress插件,以编程方式创建变量产品,但问题是,我想使用我以前从管理仪表板手动定义的属性。我需要将属性分配给我正在创建的产品。 以下是我正在使用的代码(不是我的,我从以下答案中得到:在WooCommerce中以编程方式创建一个可变产品和两个新属性): 产品被正确地创建,但是代码创建了一个新属性,并将其称为“Couleur”,而不是使用我已经定义的“Couleur”属性。 提
这感觉是一个非常愚蠢的问题,但我缺乏JS知识加上缺乏AWS知识让我陷入困境!我只是想掌握基本的AWS堆栈,即Lambda/Dynamo/API网关,以进行一些基本的API工作。 如果我想要一个简单的APIendpoint来处理PUT请求,例如。如果我有一个DynamoDB表,它的复合主键是和,我可以使用下面的代码片段来获取未知数据(设置模式时未知的属性),但这显然效果不佳 我可以使用以下 JSON
让我们考虑我有一个名为tbl_resourceCost的表存储表。 现在,我想通过使用分区键和ResourceGuid来更新扩展成本。因此,如果我在WHERE条件下将xxx01作为PartitionKey传递,zzz01作为ResourceGuID,那么它将只将我的extendedCost(即100和200)更新为700。 如果我们在SQL中考虑更新,那么查询将是“update Tbl_Resou
问题内容: 在XCode 6中创建一个新项目不允许禁用Storyboard。您只能选择Swift或Objective-C,而不能使用Core Data。 我尝试删除情节提要,并从项目中删除主情节提要,然后从didFinishLaunching手动设置窗口 在AppDelegate中,我有以下内容: 但是,XCode给我一个错误: 类“ AppDelegate”没有初始化程序 有人成功吗? 问题答案