使用Mongodb将AWS Amplify和App Sync与现有节点服务器一起使用

时间:2019-06-01 21:15:50

标签: mongodb aws-lambda amazon-dynamodb aws-amplify aws-appsync

当前,我正在使用React-Native开发本机应用程序。我决定使用AWS Amplify,因为它是实时更新及其身份验证。

我还有一个Web应用程序,该应用程序在带有Epxress服务器的Node.js上运行。该Web应用程序连接到Mongo数据库。

我的大问题是,我希望所有aws扩增查询都运行到现有的MongoDb上,而不是AWS AppSync随附的新dynamoDb数据库,但不幸的是,我不知道从哪里开始。这对于在现有Web应用程序中轻松添加身份验证也特别有用。

我的第一个想法是仅在新的节点js服务器中创建我的所有API端点,并对这些API端点进行应用同步调用,但是我不确定如何在现有服务器上实现调用端点(似乎与“无服务器”的想法背道而驰)

我的另一个想法来自此:Can AWS App-Sync be used without dynamoDB

这表明要使用AWS Lambda将我的数据“流水线化”到现有的mongodb,但是我不确定这意味着什么。

TL; DR-使用带AppSync的AWS Amplify时,我希望能够查询现有的Mongodb而不是使用DynamoDb。

我希望这已经足够清楚,而且听起来不像是我在闲逛。预先感谢!

1 个答案:

答案 0 :(得分:0)

我建议使用HTTP数据源连接到您的MongoDB后端或Lambda函数。这是这两个的入门教程:

https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers.html https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-lambda-resolvers.html

如果您使用Lambda路线,则可以在Amplify CLI中使用GraphQL Transformer的新@function功能:https://aws-amplify.github.io/docs/cli/graphql#function