需要关于多个查询的建议 Amplify GraphQL

Need advices on multiple query Amplify QraphQL

我正在使用 AWS Amplify 开发应用程序。 我正在使用 Graphql API 来管理我的 Dynamodb tables.

我需要一些建议来了解在 table 中改变多个项目的最佳方法。 我读到 Qraphql 和 dynamodb 能够每秒改变 1000 个项目,但实际上这种性能对我来说不起作用:(.

为了改变多个项目,我有一个包含所有查询和输入参数的数组,我正在使用 Promise.all 函数,例如:

await Promise.all(
  options.data.map(  item => 
     API.graphql(
       graphqlOperation(
          item.query, 
          { input: item.input }
       )
     )
   )
);

这样做的好方法吗?它正在工作,但有 1000 个项目需要 4/5 秒。 你能告诉我如何使用 Amplify graphQl API 提高多项目突变的性能吗? 非常感谢

尝试使用 1 个请求发送所有查询或变更,而不是多次使用 API.graphql

例如,当我删除 post.

时,我如何删除 post 的评论
const commentMutations: any = comments.map(
  (comment: Comment, i: number) => {
    return `mutation${i}: deleteComment(input: {id: "${comment.id}"}) { id }`;
  }
);

await API.graphql(
  graphqlOperation(`
  mutation deletePostComments {
    ${commentMutations}
  }
`)
);