当前位置: 首页 > 知识库问答 >
问题:

使用AWS AppSync和Amplify从GraphQL查询中获取自定义响应

程鸿煊
2023-03-14

我对GraphQL,Appsync和放大器非常陌生。我使用AWS AppSync与放大器通过GraphQL查询从DynamoDB表获取记录。前端在ReactJS中。看看aws文档上的一些例子,我似乎可以用JSON格式获取记录,就像它存储在表中一样。我想找到一些留档或示例,说明如何迭代返回的记录集,并在返回的数据发送回客户端之前对其执行一些计算。但是我无法将在线留档与我想要实现的目标联系起来。

例如,如果返回的json有3列,因为backing DynamoDB表中只有3列,但我想返回第四列,这是一个基于外部条件的计算值,该外部条件作用于graphql查询响应返回的三列。我需要使用哪种解析器?我还希望能够向该查询发送一些参数,以便根据发送的参数筛选出响应,并且客户端仅在对其应用自定义业务逻辑后才能看到数据。我应该创建一个调用graphqlapi的API,然后在该API中执行一些逻辑,还是使用DynamoDB解析器、Lambda解析器或GraphQL解析器?Amplify在Amplify项目中生成所有查询和突变,因此不确定在哪里编写这些解析器。我需要所有这些逻辑来只保留服务器端。我正在寻找一个研究的起点,除非有一个工作示例可以帮助我迭代服务器端GraphQLAPI返回的记录,并返回经过定制和筛选的数据。

谢谢你的帮助。

共有1个答案

楚嘉
2023-03-14

您可以在解析器中操纵响应。如果使用VTL解析器,请查看$ctx。结果,您可以用它做vtl支持的任何事情。您可以做的另一件事是使用直接Lambda解析器,如果您需要执行一些基本的字符串操作以外的任何操作,这也是您的最佳选择。这允许您在解析器中执行任意代码。

 类似资料:
  • 我想从JSON列中获取值,并在spring JPA中返回自定义DTO。 表结构 列包含年龄,例如 我想获取具有、和的用户列表。由于数据量可能很大,我创建了一个自定义DTO 下面是一个同样的例子: 实体: 结构: 结构: 启动Spring启动应用程序 警告|上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂UnsatifiedPendencyException:

  • 我有一个react应用程序,我正在使用AWS amplify。我的问题是,当我从DynamoDB查询数据时,通过AWS AppSync的正确方式是正确的,然后我是否有一个lambda函数来查询数据库,还是AppSync只是这样做?这样做的正确途径是什么?它会反应吗-

  • 我一直在研究GraphQL作为我的一些RESTAPI的替代品,虽然我认为我已经对基本知识了如指掌,就像我目前看到的大多数内容一样,但似乎缺少了一个重要的功能。 比如说,我有一系列这样的物品: 应用程序需要所有这些对象的映射,按ID索引: 我写过的每个API都能够以这样的格式返回结果,但我正在努力寻找一种用GraphQL来做到这一点的方法。我一直在运行第101个问题,但这更多地涉及未知模式。就我而言

  • 我在这里创建了一个类似于教程的Web应用程序:https://spring.io/guides/tutorials/react-and-spring-data-rest/ . 我已经添加了后gresql数据库,一切正常。我有一个基本查询查找我的存储库中的By用户名(字符串名称),工作正常。我的问题是,由于某种原因我无法创建自定义查询,例如 . 假设我做了一个测试,我只想得到这个语句的值。我说的不能

  • 问题内容: 实体正在追踪 产品表 订单明细表 这些实体生成的表名为“ order_detail_productlist”,其字段如下order_detail_id和productlist_id 我正在mysql编辑器中运行以下查询,并且正在运行 但是当我在带有@Query注释的spring存储库中运行时,这给了我异常。我尝试根据实体将Order_detail的名称更改为OrderDetail,但在

  • 我使用aws cdk设置了我的AppSync api,但没有使用他们的amplify框架。我正在试图弄清楚如何/是否可以从我的AppSync文件,但不使用amplify,即无法访问命令。我确实尝试过安装和运行它,但我假设amplify希望文件位于某些目录中,因此失败了。 我调查https://graphql-code-generator.com但由于AppSync使用的特殊类型(如)无法工作,解决