【问题标题】:Will appsync still request relationship if i don't request it in frontend如果我不在前端请求,appsync 是否仍会请求关系
【发布时间】:2019-11-11 17:47:22
【问题描述】:

当我的 graphql 架构中存在关系时,我正在努力计算订阅(或查询)的读取容量单位。

假设我有 2 种类型连接到 dynamodb 表:

type User{
   user_id: String!
   .... some user info
}

type Tweet{
   tweet_id: String!
   user_id: String!
   user: User
}

在解析器中,我使用GetItem 操作将type Tweet 中的user 连接到type User

我的问题是,当我在没有用户的情况下查询推文时。例如

query tweet {
   getTweet(tweet_id: 'test'){
      tweet
   }
}

即使我没有请求用户字段,appsync 是否会对我的用户表执行 GetItem 操作?

谢谢!

【问题讨论】:

    标签: amazon-dynamodb aws-appsync


    【解决方案1】:

    订阅不会从您的后端数据源中读取;相反,突变的输入被转发给相关的订阅者。

    至于 getTweet 查询,这完全取决于您的解析器(映射模板)的设置方式。您的 getTweet 只会调用 Tweets 表,除非您还编写指令来读取用户表(或用户记录,如果您使用的是单表设置)。

    【讨论】:

    • 对于查询部分,我最初使用的是单表设置。然后我将User 连接到解析器中的用户表。因此,当我从tweet 查询user 时,它会获取用户详细信息。但是,问题是我是否只查询推文(没有用户)。 Appsync 还会在User 表上执行GetItem 来填充用户属性吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 2017-06-16
    • 2021-04-19
    • 2017-06-20
    • 1970-01-01
    • 2019-04-20
    相关资源
    最近更新 更多