【问题标题】:How would I autofill a field in an aws appsync schema?如何自动填充 aws appsync 架构中的字段?
【发布时间】:2020-12-13 07:59:12
【问题描述】:
我想在创建这种类型的对象时自动填充“userId”字段。
type FriendRequest @model
@key(fields: ["userId", "receiver"])
{
userId: ID!
receiver: ID!
}
如何做到这一点?我需要在 userId 字段上使用@function 指令吗?这个函数会是什么样子?
【问题讨论】:
标签:
amazon-web-services
aws-lambda
aws-amplify
aws-appsync
aws-amplify-sdk-js
【解决方案1】:
找到答案。在 amplify\backend\api\build\resolvers 中找到速度解析器,并将要编辑的突变移动到 amplify\backend\api\resolvers。
为了自动填充字段,我使用了这一行,它基于用于自动填充 appsync api 对象的“createdAt”和“updatedAt”字段的代码行:
$util.qr($context.args.input.put("your field name here", $util.defaultIfNull($ctx.args.input.your field name here, [your value here])))
在我的例子中,我使用 $context.identity.sub 来获取用户的 id,这是我从 this doc 学到的。