amazon-web-services - 查询条件缺少关键架构元素:dynamoDB Scala 中的 source_transaction_id
问题描述
我正在尝试使用二级索引执行查询,如下所示
val valMap = new ValueMap()
.withString(":v_source_transaction_id", "843f45ad-cb1d-4f41-9ede-366c9304e447")
//.withString(":source_transaction_trace_id","843f45ad-cb1d-4f41-9ede-366c9304e443")
println(valMap)
//search is defined then extract dates from search.. else continue with simple logic.
val keyConditionExpression = """source_transaction_id =
| :v_source_transaction_id""".stripMargin
val spec = new QuerySpec()
.withProjectionExpression("source_transaction_id, transaction_date")
.withKeyConditionExpression(keyConditionExpression)
.withValueMap(valMap)
.withMaxResultSize(2)
case class DataItems(transaction_date: String)
val itemList = new ListBuffer[DataItems]
val items = table.getIndex("gsi-settlement").query(spec)
println(table.getIndex("gsi-settlement"))
val iterator = items.iterator()
while (iterator.hasNext) {
val next = iterator.next()
itemList += DataItems(next.getString("transaction_date"))
}
itemList.foreach(println)
这里 gsi 结算是二级索引,源交易 id 是主键,我收到以下错误:
[AmazonDynamoDBException: Query condition missed key schema element: source_transaction_id
解决方案
试试这个 :
val keyConditionExpression = """source_transaction_id = :v_source_transaction_id""".stripMargin
目前你的 keyConditionExpression 出现
source_transaction_id =
:v_source_transaction_id
错误:AmazonDynamoDBException: Query condition missed key schema element: source_transaction_id
表明您在查询中缺少 GSI 键
推荐阅读
- c - 为什么这个工会的规模比预期的要大?
- ruby - 井字游戏的保持分数方法未正确更新分数变量
- initialization - 平均多个初始条件
- android - 如果只有一个意图,如何防止 Intent.createChooser 自动使用 Intent?
- jquery - 如何通过输入值增加数字?
- thymeleaf - 可以在angular8组件中加载springboot yaml属性
- python - 下面代码中 (qs | qs1) 的含义是什么?
- sql - 如何仅按时间部分比较日期时间列
- php - 高级自定义字段引导滑块活动状态
- windows - 无法映射 LAlt + autohotkey 中的任何键