【发布时间】:2023-03-20 02:45:01
【问题描述】:
总的来说,我是 AWS 的新手,我正在使用 Amplify 构建一个相对简单的应用程序,但我之前使用过 Google Firebase。我的问题是:有没有办法将字段的约束设置为非负数?我有一个进行交易的应用程序,我不希望我的余额为负数。我只需要一个简单的错误/异常。是否可以在 DynamoDB 中设置“此字段应 >= 0”的字段约束?
我还检查了是否可以在我的 graphql 突变的 VTL 放大生成的解析器中执行此操作,并且确实可以设置一些约束,但不知何故它允许操作并在下一个时崩溃(当平衡数据库上的值已经 = 0”之类的话,但我无法让它工作。
因此,似乎唯一的方法是创建一个自定义 lambda 解析器,在将突变提交到 DynamoDB 之前执行各种检查。我还没有尝试过,但我不明白如何在不进行查询的情况下检查当前余额(存储在数据库中)。
更一般地说,是否可以在 amplify/dynamoDB 上验证字段(即使是简单的断言,如非负)?迁移到像 Aurora 这样的另一个数据库会有帮助吗?
感谢您的帮助
【问题讨论】:
标签: amazon-dynamodb aws-amplify aws-appsync amplify