要解决「AppSync是什么?」这个问题

首先

由于在开发中已经使用了 AppSync,我对它不太了解,所以我总结了一下关于这个资源的基本信息。

本文所指的读者

初次了解AppSync的人
想要了解的是资源本身,而不是实施方案的人

Appsync 是什么?

AWS AppSync是由AWS开发的完全托管的服务器无服务GraphQL服务。您可以创建无服务器的GraphQL API,并通过单个端点安全地查询、更新和发布数据。

在客户端,可以通过一个单一的GraphQL终端点查询多个数据库、微服务和API。

スクリーンショット 2023-08-06 20.45.25.png

 

在这里,GraphQL 出现了,由于我不了解 GraphQL,所以我进行了调查。

GraphQL 是一种查询语言。

GraphQL是指API查询语言和服务器端的运行时。通过准备一个单一的端点并发送查询来进行操作。

 

在客户端将查询发送到单个终端,并在AppSync上定义模式,您可以将解析器(请求目标的信息)附加到每个已定义的请求类型上。

以下是一个简单查询(请求)。

query {
   users {
     name
   }
 }

我个人认为,以下有以下的好处。

由于只有一个终端点,可以将多个API调用合并在一起。
由于具有模式定义,因此减少了客户端和服务器之间的差异风险。

亚马逊无服务器版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