需要关于多个查询的建议 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}
}
`)
);
我正在使用 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}
}
`)
);