如何从 AWS Amplify 生成的 GraphQL 文档获取createdAt、updatedAt 和owner 字段?

Phi*_*ren 5 graphql aws-appsync aws-amplify

我使用 AWS Amplify 创建 GraphQL API。在 DynamoDB 中,字段createdAt、updatedAt 和owner 是自动创建的。我无法开箱即用地获取该字段的值。现在,当我将这些字段添加到带注释的架构中时,我将能够获取这些值,但具有写入权限的每个人都可以覆盖它们,这对于时间字段来说很烦人,并且对于所有者字段来说存在安全风险。

那么我如何获得这些值呢?

这是一个 AWS-Amplify 特定问题。这不是关于如何使用通用 GraphQL 来做到这一点。它非常具体地介绍了如何使用 AWS-Amplify 的 API 模块及其(遗憾的是非常有限的)指令来执行此操作(https://aws-amplify.github.io/docs/js/api#using-graphql-transformers)。

Chr*_*man -1

创建两个 graphql 接口,一个是公共的,仅公开您想要向应用程序/用户公开的查询、突变和订阅。这是所有业务逻辑的所在,写入解析器以确保时间戳等字段不会被覆盖。

第二个更全面,仅暴露给您的公共 graphql 接口并仅由您的公共 graphql 接口使用。

这就是Yoga / Prisma协同工作的方式。