当前,我正在使用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。
我希望这已经足够清楚,而且听起来不像是我在闲逛。预先感谢!
答案 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