小编Zak*_*ngh的帖子

用于在 AppSync 中查询一对多关系的“类型不匹配错误,预期类型列表”

架构:

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)

amazon-web-services amazon-dynamodb aws-appsync

10
推荐指数
1
解决办法
6136
查看次数

AppSync S3Object检索

根据提供的教程,我的文件当前正在上传到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.

amazon-s3 amazon-web-services aws-appsync

3
推荐指数
1
解决办法
988
查看次数