当前位置: 首页 > 知识库问答 >
问题:

AmazonDynamoDBv2查询无法识别GSI

周飞语
2023-03-14

当我在GSI上查询时,我对Amazon DynamoDBv2的Amazon DynamoDBAsync.query异步请求的实现返回代码400“查询条件错过了关键模式元素......”。

我尝试使用DynamoDBAttribute名称(“myAttr”)和GSI的实际索引名称(“idx\u global\u myAttr”),并收到相同的错误代码。这与Docker的图片“amazon/dynamodb local”背道而驰。

我已经阅读了GSIs上的DynamoDB文档,但我不知道如何在这个查询中定位二级索引。它似乎只对主要指数作出反应。

表描述:'

tableDescription: {
  attributeDefinitions: {
    {
      "attributeName": "myAttr",
      "attributeType": "S"
    },
    {
      "attributeName": "id",
      "attributeType": "S"
    }
  },
...
  "tableName": "myTable",
...
  "globalSecondaryIndexes": [
    {
      "indexName": "idx_global_ myAttr",
      "keyType": "HASH"
    }
  ]
...
}

`

查询请求:

`
var attributeValue = new AttributeValue().withS(value);
var expressionAttributeValueMap = Map.of(":v1", attributeValue);
var queryRequest = new QueryRequest("myTable")
  .withExpressionAttributeValues(expressionAttributeValeMap)
  .withKeyConditionExpression("myAttr = :v1");
`

共有1个答案

戚高洁
2023-03-14

已解决:

通过添加指定查询请求用于哪个索引。将index(“idx\u global\u myAttr”)添加到QueryRequest生成器,并在KeyConditionExpression中使用属性名称(“myAttr”)。

 类似资料:
  • 我有一个带有左连接的SELECT语句,连接的表是子查询。Oracle无法识别第二个子查询中第一个子查询的别名。它适用于DB2,但不适用于Oracle。我如何实现它或重写我的查询? Oracle错误消息:ORA-00904:“B”。“C3”:无效标识符

  • 我使用Lambda(Python)查询我的DynamoDB数据库。我正在使用boto3库,我能够进行“等效”查询: 这个脚本的工作原理是: 但是,当我将查询表达式更改为以下内容时: 我得到一个错误: 根据该[1]资源,“gt”是Key()的方法。有人知道这个库是否已经更新,或者除了“eq”之外还有什么其他方法可用吗? [1] http://boto3.readthedocs.io/en/lates

  • 我面临的问题是在java中使用hibernate为postgres表执行以下查询。 该查询由使用内部连接从3个表中检索数据组成。 QryJourney=“选择journey.id、journey.operatingday、journey.linename、journey.scheduledeparturestopname、journeydetail.stopname、journeydetail.l

  • 问题内容: 我正在使用Hibernate / JPA执行本地PostGIS查询。这些查询的问题在于它们需要的参数不是经典的X =“值”形式。 例如,以下几行崩溃 但是,以下查询有效: (但是它很容易出现SQL注入…) 有谁知道如何在这种情况下使用? 问题答案: 未为本机查询定义使用命名参数。根据JPA规范(第3.6.3节“ 命名参数”): 命名参数遵循第4.4.1节中定义的标识符规则。命名参数的使

  • 我正在将下面的sql查询转换为Snowflake,并得到错误“numeric Value”-“未识别”,但它没有行号。我假设它在整个查询中引用了各种“-1”实例,但没有引用任何行,所以不清楚是什么导致了这个问题。如果是对“-1”的各种引用--雪花中的替代方案是什么?Try_To_Number在这种情况下不起作用,所以希望社区有建议

  • 我有以下序列