如果我在前端不要求appsync仍会请求关系

时间:2019-09-18 00:01:06

标签: amazon-dynamodb aws-appsync

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

假设我有2种类型与dynamodb表相关:

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

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

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

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

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

即使我不请求用户字段,appsync也会对我的用户表执行GetItem操作吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

订阅不会从您的后端数据源中读取;取而代之的是,将突变的输入转发给相关的订户。

对于getTweet查询,这完全取决于您的解析器(映射模板)的设置方式。您的getTweet仅会调用Tweets表,除非您还编写了读取Users表的说明(或者,如果使用的是单表设置,则是users记录)。