Amazon web services Dynamodb-使用GraphQL扫描映射属性
我正在使用GraphQL扫描dynamodb中的一个集合,如下所示: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" } } 我想返
{
"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