我收到Invalid KeyConditionExpression:语法错误;令牌:“ - ”,附近:foo-bar,当键名称为hypen时。我已经尝试使用with表达式属性名称和属性值但仍然得到相同的错误。我该如何解决这个问题?
Invalid KeyConditionExpression: Syntax error; token: "-", near:
Map<String,String> eak = new HashMap<>();
eak.put("#k","foo-bar");
Map<String, AttributeValue> eav = new HashMap<>();
eav.put(":v", new AttributeValue().withS("val"));
DynamoDBQueryExpression<J> queryExpression = new DynamoDBQueryExpression<J>()
.withKeyConditionExpression("#k = :v")
.withExpressionAttributeNames(eak)
.withExpressionAttributeValues(eav)
.withScanIndexForward(true);
答案 0 :(得分:1)
在使用ggplot(
mtcars,
aes(
factor(cyl),
fill = factor(vs)
)
) +
geom_bar(position = position_dodge(preserve = "single"))
时,您似乎无法使用包含连字符foo-bar
的列。
在您的示例中,KeyConditionExpression
•用于.withKeyConditionExpression("#k = :v")
,
•与.f("foo-bar = val")
类似(请注意.f("foo - bar = val")
周围的空格)。
-
不再被解释为列名中的字符,而是解释为操作数。
出于显而易见的原因,这会引发错误,因为-
不在允许的位置。