gpt4 book ai didi

amazon-dynamodb - AWS Amplify + Appsync - 是否可以使用@connection 转换来级联删除相关数据?

转载 作者:行者123 更新时间:2023-12-04 15:46:05 25 4
gpt4 key购买 nike

我正在开发一个 Web 应用程序,使用 AWS Amplify 和 AppSync 来读取我的数据并将其写入 DynamoDB 表。使用 Amplify's GraphQL Transforms , 使用 @connection 转换很容易在数据类型之间建立连接。我想知道是否有可能以简化或半自动的方式删除相关数据。

假设一个简单的博客示例,其中用户有一个博客,其中有帖子,而这些帖子又具有其他用户拥有的评论。如果帖子被删除,我想删除与该帖子相关的评论。如果用户被删除,我想删除他们的博客、帖子和与这些帖子相关的评论,以及用户在其他帖子上留下的任何评论。这个例子是人为设计的,因为也许希望以某种形式维护其中的一些数据。但是,在某些情况下,这种行为正是我要寻找的。

过去使用 Prisma 时,我使用了他们的 @relation指令建立类似于使用 Amplify 的 @connection 的关系。然而,在我想要级联删除的情况下,我会写一些类似的东西:

type Post {
id: ID! @unique
title: String!
body: String!
owner: ID!
comments: [Comment!] @relation(name: "PostComments",
onDelete: CASCADE)
}

我可以使用 onDelete 参数并将其设置为 CASCADESET_NULL,具体取决于我想如何处理它。

有没有办法通过 Amplify 做类似的事情?当然,我可以编写一堆 VTL 或 Lambda 解析器来处理每种情况,但我想先检查是否有更快/更简单的方法来实现它。

最佳答案

Amplify 尚不支持此功能。正如您所说,您可以使用管道解析器和一些 VTL 复制此行为,然后通过 Amplify CLI 或自行部署。有计划允许您编写自己的转换器来编码像这样的可重现逻辑作为解析器(请参阅 https://github.com/aws-amplify/amplify-cli/issues/1060 ),并计划转向所有 Amplify CLI 项目的管道解析器(请参阅 https://github.com/aws-amplify/amplify-cli/issues/1055 )。

关于amazon-dynamodb - AWS Amplify + Appsync - 是否可以使用@connection 转换来级联删除相关数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55710557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com