【问题标题】:Use an existing DynamoDB datasource with Amplify and AppSync将现有 DynamoDB 数据源与 Amplify 和 AppSync 结合使用
【发布时间】:2020-08-30 07:02:58
【问题描述】:

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

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

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

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

  • 在这个新项目中不使用 Amplify 而是使用 SAM(但我将丢失 Amplify 提供的所有构建管道)
  • 使用 Amplify 进行托管和身份验证,但使用 SAM 配置 AppSync 并将其插入我现有的数据源中
  • 也许 CloudFormation 可以是答案,但我不知道如何在 Amplify 中直接与之交互

【问题讨论】:

标签: amazon-cloudformation aws-amplify aws-appsync


【解决方案1】:

亚马逊有一篇关于微服务架构的文章可能对您有用 https://aws.amazon.com/blogs/mobile/appsync-microservices/

我不确定 Amplify 是否支持向其添加多个 API,如果支持,您可以添加它,然后仅在其上拉取该 API。

IMO 最简单的方法是创建一个查询端点,使用 lambda 从您的其他数据源获取数据。

因此,在这种情况下,您可以将架构编辑为类似的内容

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

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

上面的文章有关于这个架构的更深入的细节

【讨论】:

    猜你喜欢
    • 2019-10-08
    • 1970-01-01
    • 2019-10-19
    • 2021-03-21
    • 2020-07-30
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    相关资源
    最近更新 更多