有谁能告诉我在以下几个方面有什么区别吗?
aws-sdk/clients/appsync和aws-appsync
根据文档,使用aws-sdk/clients/appsync是因为仅仅包含aws-sdk太大了,当我们只需要appsync时,我们就使用aws-sdk/clients/appsync。
然而,aws-appsync似乎也在做同样的事情。当我使用aws-sdk/clients/appsync创建客户机时,aws-appsync没有hydrated()函数。
所以
aws-sdk/clients/<any_aws_package>来简化所有的事情,而打破所有没有使用它的东西呢?提前谢谢你的帮助。
发布于 2021-05-03 15:05:07
aws/client/appsync和appsync之间的区别
GraphQL起源于Facebook,React/React本地应用程序使用react-apollo与基于GraphQL的API进行对话。
AWS AppSync是GraphQL的AWS产品。aws-sdk/clients/appsync是用于调用各种AppSync管理/控制API (如创建GraphQL API、创建数据源等)的JS。不确定他们是否也提供了api来使用基于GraphQL的api。
aws-appsync是使用AppSync支持的GraphQL API的方式。它与react-apollo合作得很好,现在已经转移到apollo-client了。
AWS 放大中还有另一个高级JS库,用于使用AppSync支持的GraphQL API。
之所以使用aws/client/appsync,是因为仅仅包含aws太大了。
aws-sdk的初始版本(Github 这里)包含了所有AWS服务的客户端等。您需要安装aws-sdk,并且可以通过初始化客户端来与几乎所有的AWS服务进行通信。显然,它在打包JS包方面不是很好,库也不是很模块化。
现在,最新版本的V3 (使用TypeScript重写)即GA现在将客户端移动到单个npm包,即您只需要安装所需的客户端,例如npm i @aws-sdk/client-appsync而不是npm i aws-sdk。了解更多关于它的这里。如果您要开始使用V3包。
为什么我们不能仅仅使用aws/clients/来简化所有的事情,而破坏所有没有使用它的东西呢?
V3的情况就是如此。
分离类似的东西有什么意义?
它们并不相似。一个用于使用基于GraphQL的API(由AppSync提供),另一个用于管理AppSync本身。V3包严格遵循这一点,而早期版本可能有一些实用程序代码/高级抽象以及核心AWS。
https://stackoverflow.com/questions/67368064
复制相似问题