问题标签 [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.
amazon-web-services - AWS AppSync 中订阅的自定义筛选
是否可以在 AWS AppSync 中对订阅进行自定义过滤逻辑?
据我所知,当前的行为是:例如我的架构如下
AppSync 的当前行为是,当我触发 createEvent 时,AppSync 承诺如果 userId 相等,订阅的订阅者会收到事件。即AppSync的过滤逻辑是这样的
但是如果我想要不同的过滤逻辑呢?例如,我想订阅除我触发的事件之外的所有其他事件?IE
那么,是否可以在 AppSync 中拥有自定义过滤逻辑?
graphql - AWS AppSync:将参数从父解析器传递给子解析器
在 AWS AppSync 中,主查询上发送的参数似乎不会转发给所有子解析器。
当我打电话时:
获取 book 的第一个查询接收到consistentRead
参数 in $context.arguments
,但检索文章的后续查询没有。($context.arguments
为空)
articles(consistentRead: Boolean): [Article]!
我也在里面试过,book
但没有运气。
有谁知道 AppSync 中是否可以将参数传递给同一请求的所有查询部分?
amazon-web-services - AWS AppSync 订阅:基于更新文档中的对象的复杂授权
将被突变更改的对象包含一个permissions
数组,该数组包含user
由 auserId
和write
权限布尔值组成的对象。如果userId
列表中存在用户,则该用户对该对象具有读取权限。如果write
设置为 true,则用户也具有写入权限。
从突变的角度来看,这使得修改对象更容易,但它使处理订阅变得更加困难,因为我无权访问在订阅创建时更新的对象。因此,我无法确保用户只有在拥有适当权限的情况下才能获得对象的更新。
我认为这没有什么区别(因为我无法在客户端安全地处理这个问题),但我正在构建一个 React Web 客户端。
有没有可行的方法解决这个问题?
amazon-dynamodb - 针对 Cognito 用户的 AWS AppSync 事件订阅过滤
我有以下架构:
createEvent
解析器设置userID
如下:
我想限制订阅,以便仅将记录userID = $context.identity.username
返回给用户。
有谁知道如何设置这个?我想我需要一个关于订阅的解析器,但我找不到一个明确的例子,你有一个主分区键 ( userID
) 和主排序键 ( eventID
)。
我非常感谢任何帮助或指导。如果需要,我可以更改架构或数据库。
更新:
我相信我可以将订阅响应映射模板设置为:
但是,我不知道在请求映射模板中放什么。
react-native - React Native、GraphQL、Apollo - 如何创建批量插入突变
我需要在本机反应中创建一个批量插入突变调用这是我的代码。请你解决我的问题。我不知道我在哪里做错了。而 onHandleSubmit 数据未插入表中。
仅在提交时将对象数组传递给批处理突变调用函数。
Appsync Shema:
阿波罗号召:
突变:
reactjs - 'Symbol(isOptimistic): false | 是什么意思?true' 表示在 AppSync、Graphql、Apollo 上发送突变请求时
我开始使用 AppSync 进入 graphql 世界。我有一个可用的 api,它使用以下技术存储我的数据:
- 反应
- 阿波罗
- 打字稿
不幸的是,我添加了一些其他功能,它停止存储新数据。我试图找出原因。我想我可以从了解“Symbol(isOptimistic): false”的实际含义开始。先感谢您。
graphql - AppSync GraphQL 使用基于字符串的查询而不是生成的类型
我正在我的 Android 应用程序中集成 AWS AppSync,但想在生成的查询类型上使用 GraphQL 查询字符串。这是因为正在使用的查询可能会在运行时更改,我不想重新生成和重新编译应用程序以使用新查询。我知道生成的查询类型最终会转换为基于字符串的查询,但似乎并没有在公共 API 中公开。有什么方法可以将 AWS AppSync 与 GraphQL 字符串查询一起使用?
graphql - AWS AppSync 初始批量放置不更新缓存
我将 AWS AppSync 与 Angular 7 应用程序一起使用,并像这样初始化客户端:
当 AppSync 进行查询并且 dynamodb 中已经有请求的值时,它工作正常:
此查询结果被缓存,当我进行突变时,突变的响应:
导致缓存通过键比较更新,这也正常工作。
但是,当 dynamodb 中还没有值时,获取返回的结果如下:
所以现在这个查询被缓存了,当对结果进行突变时
它无法更新缓存。因此,接下来的几次执行从缓存中获取的查询,我仍然得到空结果,但是我需要在收到初始 put 突变的突变结果后立即更新缓存。
一旦下一个查询从服务器获取新数据,所有进一步的突变都会立即更新缓存,因为现在缓存中有具有相同键的条目。
所以我的问题只发生在最初的 put 上,我不知道要改变什么。
- 也许更新解析器映射
显示查询键+空结果值?
- 初始放置后清除缓存?
我肯定想使用该network-and-cache
选项,因为它除了最初的看跌外效果很好。
如果有人可以帮助我解决这个问题,我将不胜感激。
amazon-web-services - 如何对 AWS AppSync 架构进行版本控制
我有一个需要更新 AWS AppSync 架构的用例。由于我的应用程序用户将拥有不同版本的应用程序,因此不同版本需要使用的架构会有所不同。
有没有办法对 AppSync 架构进行版本控制并从 iOS 和 Android 应用程序调用不同版本的架构?
我可以获得两个平台的示例代码指针吗?