必须在 AWS amplify 中为 Source 提供 graphql API 调用

Posted

技术标签:

【中文标题】必须在 AWS amplify 中为 Source 提供 graphql API 调用【英文标题】:Must provide Source with graphql API call in AWS amplify 【发布时间】:2019-10-04 04:25:45 【问题描述】:

我在 AWS amplify 中调用 graphql API 时出错

我导入类似的查询(就像在带有 * 的文档中一样):

import * as queries from '../graphql/queries';

这是我收到错误的 API 请求(必须提供来源):

const data = await API.graphql(graphqlOperation(queries.nearbyZVL, filter: filter));

在同一个文件中,如下所示的另一个 API 请求正常工作:

const result = await API.graphql(graphqlOperation(queries.getProfile,  id: cognitoUserId ));

附近的 ZVL 是 AWS appsync 中的自定义查询和解析器。在 appsync 控制台中,查询工作正常!

感谢您的帮助! :)

【问题讨论】:

【参考方案1】:

不确定为什么它没有在 codegen 中生成 - 要创建自定义解析器,您是在 appsync 控制台上手动编辑,还是在 /amplify/backend 下添加文件?对于后者,它应该代码生成。如果你做了前者,考虑做后者。

在您的情况下,您可以简单地执行以下操作:

const GetNearbyZVL = `...` // the query that works in appsync console

const data = await API.graphql(graphqlOperation(GetNearbyZVL, filter: filter));

【讨论】:

以上是关于必须在 AWS amplify 中为 Source 提供 graphql API 调用的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Quasar 2 与 AWS Amplify 结合使用?

使用 Amplify 集成构建 AWS Amplify React 应用程序时总是缺少 aws-exports.js

使用 Amplify 将现有 AWS Cognito 用户池集成到 iOS 项目中

aws-amplify-react 和 @aws-amplify/ui-react 有啥区别?

AWS Amplify 错误从 aws-amplify 导入 StorageProvider 类

AWS Amplify and React - 找不到模块:无法解析“@aws-amplify/analytics”