问题标签 [appsync-apollo-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
258 浏览

amazon-web-services - 为什么在 vue-apollo 之上使用 AWS AppSync 客户端?

使用 AWS AppSync 作为后端 GraphQL 服务器时,在 vue-apollo 客户端之上使用 AppSync 客户端有哪些优势?我可以只使用 vue-apollo 与我的 GraphQl 服务器交互而不使用 AppSync 客户端吗?

0 投票
0 回答
76 浏览

apollo-client - Appsync 和 Apollo Client,如何使用 dataIdFromObject 处理列表缓存?

当前有一些缓存项可以很好地访问,它们是简单的对象,但是当传递给 dataIdFromObject 的对象是一个对象的键是一个对象数组时应该发生什么。例如:

obj.items是 Post 对象的数组。

问题是数据似乎不时使用嵌套项数组中的第一项从其他类别缓存。这样做有什么问题吗?

如果未取消请求,是否可能存在潜在的竞争条件,这可能会导致来自另一个类别的数据存储在错误的缓存键下,因为在查看 localStorage 时,您将能够看到其他类别下的帖子,比如说类别 b 下的类别.

0 投票
2 回答
1253 浏览

amazon-web-services - 在 AWS Amplify 上部署

我有一个 Web 应用程序,我想在 AWS amplify 上部署它。我对此很陌生,按照程序,我总是收到构建错误(未找到命令 ng build)

我的应用程序在本地机器上完美构建,所有文件都传输到 GIT 存储库。

该应用程序也使用 AppSync 和 Aurora。

任何帮助将非常感激。

0 投票
1 回答
257 浏览

reactjs - 如何使用 Apollo Client 虚拟字段

我无法理解如何使用 Apollo Client 和我的 graphql API (Appsync) 设置虚拟字段和/或模拟。

我在这里创建了一个代码框https://codesandbox.io/s/stoic-johnson-rkgmg​​? file=/src/EventList.js 。这是一个演示项目,其中使用连接到 graphql 端点的 Apollo 客户端获取事件列表。

我正在做教程中描述的所有事情https://www.apollographql.com/docs/tutorial/local-state/#adding-virtual-fields-to-server-data并尝试将虚拟字段“isRegistered”添加到架构类型事件。

如果您注释掉 EventList.js 第 11 行,您可以看到数据(事件列表)被很好地获取,但是一旦我尝试获取我的虚拟字段(将第 11 行重新添加),我就没有得到任何数据(也没有错误)。

如果有人能告诉我我做错了什么,我将不胜感激。

谢谢,

0 投票
1 回答
129 浏览

javascript - ApolloProvider useQuery 组合不从 AWS AppSync 获取数据,在 React 项目中

情况

由于兼容问题,我使用 ApolloClient 来形成我的 AWS AppSync API 客户端,以便我可以使用 ApolloProvider 将客户端传递给不同的子组件。

在子组件中,我调用 useQuery 来获取数据,但问题是输出总是给我默认的“未定义”值。

顶级代码

子组件中的代码(useQuery的使用)

我做了什么测试?

  1. 当我直接从客户端调用查询时,它起作用了
  1. 当我要求 useQuery 返回客户端时,它返回我设置的相同客户端

我对这个问题的猜测

问题可能来自 useQuery 但我不知道如何解决它。

0 投票
0 回答
125 浏览

amazon-web-services - AppSync 与 TS 构建问题中的 ApolloClient - 模块“Apollo 客户端”没有导出成员“WatchQueryFetchPolicy”

为 react 项目运行tsc时出错:模块“apollo-client”没有导出成员“WatchQueryFetchPolicy”。你的意思是改用'import WatchQueryFetchPolicy from "apollo-client"' 吗?

包.json

“依赖项”:{
“@apollo/client”:“^3.3.15”、
“aws-appsync”:“^4.0.3”、
“aws-appsync-react”:“^4.0.3”、
“graphql” : "^14.4.2",
"react": "^17.0.0",
"react-dom": "^17.0.0"
}

打字稿版本:4.1.2
Apollo 客户端版本:3.xx

它适用于旧版本的 Apollo for JS 解决方案,但在 TS 中遇到一些问题

0 投票
1 回答
72 浏览

amazon-iam - 在具有 AWS_IAM 身份验证模式的 ECS 容器 (Fargate) 中使用 AWSAppSyncClient - 返回 403 UnrecognizedClientException

我们在 ECS Fargate 容器中有以下代码,但它不断返回错误。当使用 IAM 身份验证和正确的角色设置在 lambda 中运行相同的代码时,我能够成功运行它。

错误

代码

云形成

0 投票
0 回答
19 浏览

reactjs - AppSync 客户端不返回数据

我需要一些专业的建议,因为我有点疯了。我正在尝试创建一个结合 Apollo 和 AppSync 的 graphql 客户端。我以前做过这种方法,但它不适用于我刚刚创建的另一个项目。我的情况如下:

  • 客户端似乎正在连接到我的 AppSync 服务器(它正在返回数据中的 __typename),但它没有返回任何其他内容。这是客户端使用的示例以及我得到的响应:

在此处输入图像描述

  • 我试图调用服务器发出 POST 请求,axios它工作得非常好:

在此处输入图像描述

既然您知道了情况,我将分享我对此的尝试:

  • 知道我有这样的事情:

client.js: _

App.js: _

Package.json

在这种情况下,响应是相同的,它正在连接,但它null在项目中返回。

是的,我知道,我应该使用creatAuthLinkfrom aws-appsync-auth-link。那是我的第二次尝试。

  • 我的第二次尝试是 using createAuthLink,但是当我尝试使用它时它抛出了这个错误:

所以我最终安装和使用了@apollo依赖项:

client.js

package.json

仍然得到相同的响应.. 我不会再尝试打扰您了。我已经尝试了这些和更多 apollo / graphql / appsync 依赖项之间的所有可能组合,结果总是相同的:要么我得到带有 __typename 的空响应,要么我得到一个依赖项错误。

注意:我注意到在使用时axios,附加到该解析器的 lambda 会按原样启动,但是当使用另一种方法时,lambda 不会启动,因此显然它不会返回任何数据。

我知道这是一篇很长的帖子,但我正在尽力解释我的情况。而且我无法创建沙盒代码,因为我不想公开 API 凭据。关于我做错了什么有什么想法吗?

提前致谢!!

0 投票
0 回答
26 浏览

reactjs - 如何在 AWS AppSync Client React App 中离线时禁用自动网络请求突变?

离线时执行突变没有立即抛出错误。AppSync 自动执行多个请求(我猜这是离线功能),然后在它抛出Error: Network error: Failed to fetch.

disableOffline: true在我的反应应用程序中创建 AppSync 客户端时添加了。

我怎样才能禁用它?我想在第一个请求失败后立即抛出错误,就像传统的 REST API 调用一样。(在一段时间内禁用自动发出请求)。

在这里找到了 ios 的 github 问题:https ://github.com/awslabs/aws-mobile-appsync-sdk-ios/issues/37 。但没有解决我的问题。

0 投票
1 回答
40 浏览

amazon-web-services - 获取特定时间段内生成的 AppSync 请求总数 | 亚马逊AWS | 应用同步

有没有办法获取在特定时间段内向应用程序发出的(appsync)api 请求总数?

我正在测试一个应用程序模块,它正在生成请求。我想计算模块运行期间生成的请求总数。

在 appsync 监控中,我可以看到图表。我理解它的方式(我正在努力学习,如果错了,请纠正我)它显示了系统在每个单位时间收到的请求总数。

因此,如果它在某个时间单位有一个峰值,那么下一个时间单位的总请求(到现在)是 = PEAK requests + requests at CURRENT Unit of time

因此,对于下图,请求总数必须超过 34k。对?

图形

现在我的问题是:我可以计算这段时间内向系统发出的请求总数吗?谢谢