Arm*_*yan 9 amazon-web-services nosql amazon-dynamodb graphql aws-amplify
默认情况下,AWS Amplify 转换器会为每个 graphql 类型创建表。
但根据 DynamoDB 文档,最佳实践是
我的印象是 Amplify 的做事方式与上面的陈述相矛盾。
我对 NoSQL 和 Amplify 都是新手,有人可以建议解决这些问题的方法吗?
我认为我们正处于过渡或灰色地带。我对 Amplify 非常陌生,一直在研究转向单表设计,因为有来源(如下)表明它始终存在,但您必须在 VTL 模板中编写所有内容。但在 2020 年,他们发布了直接 lambda 解析器支持:https://youtu.be/EOQqi6Yun7g?t=960 (clip)
但是,您似乎无法访问该@auth
指令(可能还无法访问其他指令,因为您不再使用@model
)以及 Amplify 的多表方法提供的许多很好的开箱即用功能。
此时,我正在开发一个新应用程序,我将坚持使用默认的多表设计,以加快应用程序功能的过程。
尝试实现单表设计似乎违背了 Amplify 团队的建议,并且需要更多的手动工作。您必须手动创建自定义 lambda 函数 (AppSync) 并为每个数据访问元素对 DynamoDb 进行代码查询,并通过我目前不知道的其他方式管理授权。也许有人可以在这里插话......
对单个表使用 Amplify: https://youtu.be/EOQqi6Yun7g
单剪辑与多剪辑:
Alex Debrie 的单表设计示例: https://gist.github.com/dabit3/96dc51e688b18a7d40fc534331758c56
更多讨论: /sf/answers/3950710151/
我按照以下说明设置了一个表。再次强调,您不使用@model
s 来实现此目的。另外,我认为您必须type query {}
在模式中包含 a 才能编译,但我在这里可能是错的。
所以基本步骤是:
schema.graphql
。设置单个表的完整步骤:
https://catalog.us-east-1.prod.workshops.aws/workshops/53b10bf8-2271-4ab4-bfd2-39e878a90dc8/en-US/lab2/1-vtl(两者“连接到现有 DynamoDB 表”和“直接 Lambda 解析器”步骤)
不想对 Amplify 持负面态度,它太棒了,我喜欢他们用这个产品所做的事情。我只是认为这对每个人来说都很新鲜,我希望明年这篇文章不再有效,我们将继续看到团队取得巨大进步。
归档时间: |
|
查看次数: |
1498 次 |
最近记录: |