架构:
type User {
id: ID!
createdCurricula: [Curriculum]
}
type Curriculum {
id: ID!
title: String!
creator: User!
}
Run Code Online (Sandbox Code Playgroud)
查询给定用户的所有课程的解析器:
{
"version" : "2017-02-28",
"operation" : "Query",
"query" : {
## Provide a query expression. **
"expression": "userId = :userId",
"expressionValues" : {
":userId" : {
"S" : "${context.source.id}"
}
}
},
"index": "userIdIndex",
"limit": #if(${context.arguments.limit}) ${context.arguments.limit} #else 20 #end,
"nextToken": #if(${context.arguments.nextToken}) "${context.arguments.nextToken}" #else null #end
}
Run Code Online (Sandbox Code Playgroud)
响应图:
{
"items": $util.toJson($context.result.items),
"nextToken": #if(${context.result.nextToken}) "${context.result.nextToken}" #else null #end
}
Run Code Online (Sandbox Code Playgroud)
查询:
query …Run Code Online (Sandbox Code Playgroud) 根据提供的教程,我的文件当前正在上传到s3存储桶。
我有一个Post类型,其文件字段指向S3Object。S3Object具有存储桶,键和区域的值。
我想允许我的用户下载他们上传的文件,但是我无法通过查询访问“帖子>文件”。这意味着我无法获得下载URL。
现在,DynamoDB在上传后将以下文件存储起来(我在这里更改了值):
{"s3":{"key":"id.pdf","bucket":"my-bucket","region":"my-region"}}
我的Post>文件解析器如下所示:
{
"version": "2017-02-28",
"operation": "GetItem",
"key": {
"id": $util.dynamodb.toDynamoDBJson($ctx.source.id),
}
}
响应模板:
$util.dynamodb.fromS3ObjectJson($ctx.result.file)
运行查询时,出现以下错误:
Error: GraphQL error: Unable to convert {bucket=my-bucket, region=my-region, key=id.pdf} to class java.lang.Object.