使用现有的DynamoDB数据源与Amplify和AppSync。

问题描述 投票:1回答:1

我有一个使用Amplify制作的工作应用程序(带有AppSync API和Cognito)。我想做另一个不同的应用程序,但与我的第一个项目共享一些数据(相同的产品,但不同的目标,用途和安全规则)。

有没有一种干净的方法可以在新项目中使用Amplify,让GraphQL API从我的第一个Amplify项目中获取DynamoDB中的一些数据?

这些数据会经常变化,而且会很重--所以我不太喜欢任何同步解决方案。

我想过这些解决方案,但我没有足够的经验来判断其中是否有一个是好的。

  • 不使用Amplify,而是用SAM来做这个新项目(但我将失去Amplify提供的所有构建管道)。
  • 使用Amplify进行托管和认证,但用SAM配置AppSync,并将其插入我现有的DataSource中。
  • 也许CloudFormation可以成为答案,但我不知道如何在Amplify中与它直接交互。

Schema

amazon-cloudformation aws-amplify aws-appsync
1个回答
1
投票

亚马逊有一篇关于微服务架构的文章,可能对你有用。https:/aws.amazon.comlogmobileappsync-microservices。

我不知道Amplify是否支持添加多个API,如果支持,你可以添加,然后只拉上那个API。

我认为最简单的方法就是创建一个查询端点,使用lambda从你的其他数据源中获取数据。

所以,在这种情况下,你可以编辑你的模式,就像这样

query
{
  externalData [ExternalData] @function(name: "getExternalData")
}

然后你需要添加lambda函数 getExternalData,它将负责根据需要查询数据。

上面的文章对这个架构有更深入的介绍

© www.soinside.com 2019 - 2024. All rights reserved.