Amazon web services Dynamodb-使用GraphQL扫描映射属性

Amazon web services Dynamodb-使用GraphQL扫描映射属性,amazon-web-services,graphql,aws-appsync,Amazon Web Services,Graphql,Aws Appsync,我正在使用GraphQL扫描dynamodb中的一个集合,如下所示: { "config_name": "COLOR_PALETTE", "config_value": { "SHOW_CUSTOM_SUBSCRIPTION": "NO", "SHOW_DD_SUBSCRIPTION": "NO", "SHOW_GRADIENT_SUBSCRIPTION": "YES", "SHOW_SOLID_SUBSCRIPTION": "NO" } } 我想返

我正在使用GraphQL扫描dynamodb中的一个集合,如下所示:

{
  "config_name": "COLOR_PALETTE",
  "config_value": {
    "SHOW_CUSTOM_SUBSCRIPTION": "NO",
    "SHOW_DD_SUBSCRIPTION": "NO",
    "SHOW_GRADIENT_SUBSCRIPTION": "YES",
    "SHOW_SOLID_SUBSCRIPTION": "NO"
  }
}

我想返回“config_value”作为键值对。如何定义AppSync架构和解析器以将“配置值”作为键值对?

如果按照以下方式设置架构:

type ConfigValues {
    SHOW_CUSTOM_SUBSCRIPTION: String!
    SHOW_DD_SUBSCRIPTION: String!
    SHOW_GRADIENT_SUBSCRIPTION: String!
    SHOW_SOLID_SUBSCRIPTION: String!
}

type Query {
    getConfigValues(configName: String!): ConfigValues
}

schema {
    query: Query
}
使用
getConfigValues
上的解析器,请求映射模板为:

{
    "version": "2017-02-28",
    "operation": "GetItem",
    "key": {
        "config_name": $util.dynamodb.toDynamoDBJson($ctx.args.configName),
    }
}
$util.toJson($ctx.result.config_value)
以及以下响应映射模板:

{
    "version": "2017-02-28",
    "operation": "GetItem",
    "key": {
        "config_name": $util.dynamodb.toDynamoDBJson($ctx.args.configName),
    }
}
$util.toJson($ctx.result.config_value)
正在执行以下查询:

query {
  getConfigValues(configName: "COLOR_PALETTE") {
    SHOW_CUSTOM_SUBSCRIPTION
    SHOW_DD_SUBSCRIPTION
    SHOW_GRADIENT_SUBSCRIPTION
    SHOW_SOLID_SUBSCRIPTION
  }
}
将有以下答复:

{
  "data": {
    "getConfigValues": {
      "SHOW_CUSTOM_SUBSCRIPTION": "NO",
      "SHOW_DD_SUBSCRIPTION": "NO",
      "SHOW_GRADIENT_SUBSCRIPTION": "YES",
      "SHOW_SOLID_SUBSCRIPTION": "NO"
    }
  }
}

这个答案假设DynamoDB表的主分区键设置为
config\u name