Amazon dynamodb AppSync DynamoDb,提供的键元素与架构不匹配

Amazon dynamodb AppSync DynamoDb,提供的键元素与架构不匹配,amazon-dynamodb,graphql,aws-appsync,Amazon Dynamodb,Graphql,Aws Appsync,我正在尝试在AppSync中创建自定义查询类型,以查询默认id以外的字段 注意:我没有配置排序键或全局辅助索引 数据源已连接到DynamoDB GameStats表。该记录存在于表中,但当我查询时,我得到“提供的键元素与模式不匹配” 查询: getGameByMeetupId(meetupId:String):GameStats 请求映射模板: { "version": "2017-02-28", "operation": "GetItem",

我正在尝试在AppSync中创建自定义查询类型,以查询默认id以外的字段

注意:我没有配置排序键或全局辅助索引

数据源已连接到DynamoDB GameStats表。该记录存在于表中,但当我查询时,我得到“提供的键元素与模式不匹配”

查询:
getGameByMeetupId(meetupId:String):GameStats

请求映射模板:

    {
        "version": "2017-02-28",
        "operation": "GetItem",
        "key": {
            "meetupId": $util.dynamodb.toDynamoDBJson($ctx.args.meetupId)
        }
    }
响应映射模板:
$utils.toJson($ctx.result)

错误消息:

{
  "data": {
    "getGameByMeetupId": null
  },
  "errors": [
    {
      "path": [
        "getGameByMeetupId"
      ],
      "data": null,
      "errorType": "DynamoDB:AmazonDynamoDBException",
      "errorInfo": null,
      "locations": [
        {
          "line": 2,
          "column": 3,
          "sourceName": null
        }
      ],
      "message": "The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: MC71RFG6U85PBICS2OA714TLB7VV4KQNSO5AEMVJF66Q9ASUAAJG)"
    }
  ]
}

要使用DynamoDB
查询
,必须为分区键指定一个值

您提到您的表具有“default id”属性。那是你的分区密钥吗?如果是,您有两个选择:

1) 将
Query
更改为
Scan
,并在
meetupId
属性上指定一个过滤器


2) 添加一个GSI,将
meetupId
设置为分区键,然后更新
Query
您已经必须以GSI为目标,而不是基表

感谢@stu的澄清。现在完全有意义了。我如何瞄准GSI而不是基表?
{
  "data": {
    "getGameByMeetupId": null
  },
  "errors": [
    {
      "path": [
        "getGameByMeetupId"
      ],
      "data": null,
      "errorType": "DynamoDB:AmazonDynamoDBException",
      "errorInfo": null,
      "locations": [
        {
          "line": 2,
          "column": 3,
          "sourceName": null
        }
      ],
      "message": "The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: MC71RFG6U85PBICS2OA714TLB7VV4KQNSO5AEMVJF66Q9ASUAAJG)"
    }
  ]
}