graphql - 如何将现有的 dynamo db 与 AWS Amplify 和 graphql 结合使用

标签 graphql aws-amplify aws-appsync aws-amplify-sdk-js

我们在 dynamodb 中有现有的数据库用于我们的应用程序。对于我们的一个新 React 应用程序,我们想要使用 AWS Amplify,并且我们正在尝试使用现有表。
我创建了一个骨架项目并转到后端 AWS AppSync console -> Data Sources并将现有表映射到它。我将该表定义添加到我的 react 应用程序中的 schema.graphql 中。当我进行放大推送时,我看到它在 dynamodb 中创建了一个新表,而不是指向现有的数据库。
我还尝试映射 AppSync 控制台中的一个表,并且做了 amplify pull来自本地项目,假设将在我的本地 schema.graphql 中添加表的定义,但这也没有发生。它没有从后端应用同步控制台拉取新映射数据源的详细信息。
我现有的数据库有很多数据,也与其他应用程序共享。我不想创建一个新表。
你能建议如何做到这一点吗?
此外,我们还有现有的 lamdba 函数,我们也希望将其用于这个新的 Amplify 项目。您能否也为此提出建议。
任何帮助深表感谢!

最佳答案

下面文件中的第 22 行显示了当 graphql.schema 转换器运行时表名是如何构造的;也就是说 - 该名称源自 GraphQLAPI ID,这似乎是一种单向过程。

TableName: joinWithEnv('-', [SyncResourceIDs.syncTableName, Fn.GetAtt(ResourceConstants.RESOURCES.GraphQLAPILogicalID, 'ApiId')]),
https://github.com/aws-amplify/amplify-cli/blob/e1e07b245db0963c4655e646c53e7615febe2930/packages/graphql-transformer-core/src/util/syncUtils.ts
唯一的选择是尝试修补生成的 CFN 脚本。

关于graphql - 如何将现有的 dynamo db 与 AWS Amplify 和 graphql 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65553573/

相关文章:

javascript - react native : export default App with multiple module wraps

android - 从Android中的AWSAppSyncClient删除/清除缓存策略

amazon-web-services - 未找到字段值 - AppSync AWS

reactjs - AWS Amplify ReactJS 应用程序无法重新加载页面

android - 错误 : with apollo-codegen package while working on AWS amplify

amazon-dynamodb - 无法解析 JSON 文档 : Unrecognized token '$util' : was expecting ('true' , 'false' 或 'null' )

amazon-web-services - 使用没有客户端密码的 clientId

graphql - GraphQL#execute 是否在同一线程上运行所有 DataFetcher?异步行为是否委托(delegate)给 DataFetcher 实现?

javascript - 在页面级查询中使用页面的查询参数作为参数

javascript - Graphql 服务器 - 无法通过 IP 地址 url 访问(本地主机工作正常)