要解决「AppSync是什么?」这个问题
首先
由于在开发中已经使用了 AppSync,我对它不太了解,所以我总结了一下关于这个资源的基本信息。
本文所指的读者
想要了解的是资源本身,而不是实施方案的人
Appsync 是什么?
AWS AppSync是由AWS开发的完全托管的服务器无服务GraphQL服务。您可以创建无服务器的GraphQL API,并通过单个端点安全地查询、更新和发布数据。
在客户端,可以通过一个单一的GraphQL终端点查询多个数据库、微服务和API。
在这里,GraphQL 出现了,由于我不了解 GraphQL,所以我进行了调查。
GraphQL 是一种查询语言。
GraphQL是指API查询语言和服务器端的运行时。通过准备一个单一的端点并发送查询来进行操作。
在客户端将查询发送到单个终端,并在AppSync上定义模式,您可以将解析器(请求目标的信息)附加到每个已定义的请求类型上。
以下是一个简单查询(请求)。
query {
users {
name
}
}
我个人认为,以下有以下的好处。
由于具有模式定义,因此减少了客户端和服务器之间的差异风险。
亚马逊无服务器版Aurora与DynamoDB的连接。
Appsync可以直接与Amazon Aurora Serverless和DynamoDB进行连携,这里的直接连携指的是不需要使用中间服务(如Lambda)即可实现连接。需要进行解析器的设置。
如果你想要与RDS进行协作,你需要使用Lambda作为解析器来进行协作。
如果正在使用 DynamoDB
这是一个全托管的NoSQL数据库服务,具备无缝扩展性和高速可预测的性能。
根据AWS的官方说明,上述内容是这样描述的。因此,从性能角度来看,使用DynamoDB似乎更好。
如果您在常规情况下使用RDS进行构建,我认为可以使用Lambda等工具将其复制到DynamoDB中。
收费制度(截至2023年8月)
在AppSync中,只有使用的部分才会付费。主要有以下三种费用产生。
-
- クエリとデータ変更操作
-
- リアルタイム更新
- キャッシュ
请您查阅官方网站以了解具体的价格信息。
最终
为了了解AppSync,需要了解GraphQL和DynamoDB,这样可以获得广泛的知识,非常好。下一步,我打算将重点放在实施上进行调查。
非常感谢您一直阅读到最后。
文献的参考来源
-
- https://www.ragate.co.jp/blog/articles/12064
-
- https://kinsta.com/jp/blog/graphql-vs-rest/
-
- https://www.redhat.com/ja/topics/api/what-is-graphql
- https://blog.serverworks.co.jp/appsync-direct-lambda-resolvers