【问题标题】:aws mock api able to query but unable to delete entriesaws mock api能够查询但无法删除条目
【发布时间】:2020-12-25 22:12:09
【问题描述】:

下面显示的是 graphql Schema。

@auth(rules: [{ allow: owner,operations: [create, delete ] ,ownerField: "user"}])
{
  id: ID!
  videoKey: String!
  videoThumbnailKey :String!
  videoTitle:String!
  videoDescription:String!
  channelName:String!
  videoLikes: Int
  videoDislikes: Int
  comments: [Comment] @connection(keyName: "byVideo", fields: ["id"])
  user: String
}
 
type Comment @model
@auth(rules: [{ allow: owner,operations: [create,delete] ,ownerField: "user"}])
  @key(name: "byVideo", fields: ["videoID", "comment"]) {
  id: ID!
  videoID: ID!
  comment: String!
  video: Video @connection(fields: ["videoID"])
  user: String
}

type LikedVideos @model
{
  id:ID!
  video:[Video]@connection
}

这是列出视频的查询

这些就是结果

这是获取视频的查询

这些就是结果

所有这些都可以正常工作,但是当我尝试删除它时出现错误。 这是变异查询

这是我得到的错误响应

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb aws-amplify aws-appsync


    【解决方案1】:

    似乎您没有在 dynamo db 表中添加排序键,其他项目与第一项具有相同的主键。我遇到了类似的问题并在添加排序键后工作。

    【讨论】:

      【解决方案2】:

      这似乎是 AWS Amplify 或本地 DynamoDB 中的另一个错误。

      我使用相同的架构 - 当我在 schema.grapql 中添加一个空格时,第一次删除操作有效。之后执行的删除操作不起作用。

      此外,似乎有些东西正在限制查询响应(我正在使用放大模拟命令): 例如。我在数据库中有 7 个项目,当我尝试列出所有项目时,我多次收到 1、2 甚至零个项目的响应 - 当我期望它们将在 1 个请求中加载时,在同一时间。

      我正在使用 AWS Amplify

       "aws-amplify": "^3.1.1",
       "aws-amplify-react-native": "^4.2.5",
      

      即使修改了 schema.graphql,仍然不可靠。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-04
        • 2011-06-06
        • 2017-02-01
        • 1970-01-01
        • 2017-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多