首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在GraphQL突变中干掉多个lambda的正确方法

是通过使用AWS AppSync和AWS Lambda来实现。

GraphQL是一种用于API的查询语言和运行时环境,它允许客户端精确地指定需要的数据,并且可以通过单个请求获取多个数据源的数据。而Lambda是AWS提供的无服务器计算服务,可以按需运行代码,无需管理服务器。

为了在GraphQL突变中干掉多个lambda,可以按照以下步骤进行操作:

  1. 创建AWS AppSync API:在AWS控制台中创建一个AppSync API,选择适当的区域和身份验证方式。
  2. 定义GraphQL模式:在AppSync控制台中定义GraphQL模式,包括类型、查询和突变。在突变中定义需要执行的操作,例如删除多个lambda。
  3. 创建Lambda函数:使用AWS Lambda创建多个函数,每个函数对应一个需要执行的操作。确保每个函数都有适当的输入和输出。
  4. 配置数据源:在AppSync控制台中配置Lambda函数作为数据源。将每个函数与相应的突变操作关联起来。
  5. 部署和测试:部署AppSync API,并使用GraphQL客户端测试突变。通过发送突变请求,可以同时触发多个Lambda函数的执行。

优势:

  • 灵活性:GraphQL允许客户端精确地指定需要的数据,避免了过度获取数据的问题。
  • 效率:通过一次请求获取多个数据源的数据,减少了网络请求的次数和数据传输量。
  • 可扩展性:使用AWS Lambda作为数据源,可以根据需求动态扩展函数的数量和规模。

应用场景:

  • 多数据源聚合:当需要从多个数据源获取数据时,可以使用GraphQL突变来同时触发多个Lambda函数,从而实现数据的聚合。
  • 批量操作:通过一次请求执行多个操作,例如批量删除、批量更新等。

推荐的腾讯云相关产品: 腾讯云的相关产品包括云函数(Serverless Cloud Function)和API网关(API Gateway)。云函数是腾讯云提供的无服务器计算服务,类似于AWS Lambda。API网关用于管理和发布API,可以与云函数结合使用,提供灵活的API调用和管理功能。

腾讯云云函数产品介绍链接地址:https://cloud.tencent.com/product/scf 腾讯云API网关产品介绍链接地址:https://cloud.tencent.com/product/apigateway

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

图数据库由浅入深

//其它属性 } } 2.5突变 Dgraph4j ,添加/删除/修改都属于突变( mutation )。...2.5.1 upsert 另外一种比较好用突变方式是 upsert upsert block 包含了一个 query block 和多个 mutation blocks,query block 定义变量可以通过...query block 变量可以定义多个 uid,并使用 uid 来接收他们。...要设置一个 lambda webhook,需要在 GraphQL schema 中使用 @lambdaOnMutate来定义,并定义要监听突变时间(添加、更新、删除),但是只能监听根节点突变。...采购流程,供应商股权关系是非常重要一组数据,如果能够开标之前将有股权关联供应商筛选出来进行预警,这对于政府采购环境是很大改善。

20410

每日 24 亿事件处理:Airbnb Riverbed 技术解析

该框架支持 50 多个涉及重度数据读取应用场景,在这些场景,数据来自 Airbnb 面向服务架构 (SOA) 平台多个数据源。...该框架负责并发、版本控制和数据正确性保证,以及与基础设施组件集成。...来自 CDC 事件通过执行用 GraphQL 定义聚合逻辑来更新物化视图,结果文档存储物化视图数据库。为了提高效率,处理是高度并行化和批量化。...流式管道避免了竞态条件,因为 CDC 事件 Apache Kafka 基于物化视图文档标识符被重新分区,因此对物化视图更新是顺序完成。...这一部分使用 Apache Spark 来处理存储每日快照数据仓库数据。该框架基于 Riverbed 配置 GraphQL 定义生成 Spark SQL。

13430

超越 REST

Netflix Studio Engineering 内部,一种备受关注方法是将 GraphQL 微服务(GQLMS)作为后端平台来促进应用程序快速开发。...通过允许 GraphQL 客户端“所用权限”(“full access”)自动生成 GraphQL 查询和 Graphile 生成突变(在所有表和视图上公开 CRUD 操作)来提高灵活性;然后开发过程后期...另外,Graphile 默认行为是为表和视图生成突变,但是智能注解 @omit create,update,delete 将从模式删除突变。...5结论 对于那些采用模式优先方法进行 GraphQL API 开发用户来说,Graphile 自动 GraphQL 模式生成功能可能会对模式设计者造成难以接受限制。...向 Graphile 生成模式添加自定义查询和突变(即公开 UI 所需 gRPC 服务调用)是我们目前 Docker 镜像不支持

2.9K20

Spring认证_什么是Spring GraphQL

对于请求每个可用属性,请求参数默认绑定为“等于”。 QuerydslDataFetcher支持 接口和 DTO 投影 以返回查询结果以进行进一步 GraphQL 处理之前转换查询结果。...自动注册 QuerydslDataFetcher公开 aGraphQLTypeVisitor查找返回类型与一个或多个 Querydsl 存储库域类型匹配顶级查询,并DataFetcher为每个匹配查询注册...要应用更细粒度安全性,请将 Spring Security 注释添加到涉及获取 GraphQL 响应特定部分服务方法,例如 @PreAuthorize或@Secured。...测试 您可以使用 Spring 测试 GraphQL 请求WebTestClient,只需发送和接收 JSON,但许多 GraphQL 特定细节使这种方法比应有的更麻烦。...验证响应“错误”键下没有意外错误。 响应“数据”键下解码。 使用 JsonPath 解码响应不同部分。 测试订阅。

1.7K40

2018年微服务5个发展趋势

与请求-响应体系结构不同,事件驱动系统,发起容器功能流程和事务负载不依赖于下游容器中远程流程可用性和完成。这样做另一个好处是,开发人员可以设计各自服务时更加独立。...调查随后询问使用哪个特定无服务器平台?使用无服务器技术169个,77%表示他们使用AWS Lambda。虽然Lambda可能是领先无服务器平台,但我们相信,在其边缘可能存在一些有趣机会。...通通过类型和字段之间定义资源之间关系(而不是像REST一样端点),GraphQL可以遵循属性之间引用,因此服务可以使用单个查询从多个资源接收数据。...另外,REST api要求为一个请求加载多个url,增加网络跳数,减慢查询速度。通过减少往返,GraphQL减少了每个数据请求所需资源数量。返回数据通常被格式化为JSON。...查询形状完全匹配从服务器获取数据形状,这使得与SQL或Gremlin等其他语言相比,GraphQL非常高效。查询反映了响应形状,因此可以检测到偏差,并可以识别出不能正确解析字段。

1.4K20

PayPal大规模采用GraphQL探索和实践

这些标准定义了命名约定、GraphQL 类型、请求头标准、指令标准和异常处理技术。 所有 GraphQL 操作都需要指定特殊指令,这些指令描述查询、突变和字段所有授权要求。...我们注意到某个图偏离了正确操作方式,例如身份验证。我们单个图中失去了对认证流程控制。我们还认识到,拥有多个图会使 schema 共享更加困难。...范式转换:由于 GraphQL 要求采用设计优先方法,我们启用业务用例时考虑 GraphQL,并在考虑客户情况下构建 API。 更快交付速度:我们能够更快地交付功能。...图片来源:Possessed Photography on Unsplash 我们仍在创建一种标准方法来应对 GraphQL 技术挑战,如异常处理、身份认证、文件处理和批处理。...当你第一次推测 GraphQL 是否是正确技术时,构建一个示例应用程序来演示 GraphQL 如何适合你企业架构是很有帮助

3K20

何为GraphQL

方法一个动态环境问题在于你无法获取充足信息(比如你只获取了一组id但你需要更多信息)或者得到太多信息(比如当你只需要队员名字时你确收到队员所有的信息)。 这些都是很难解决问题。...这个方法避免了许多API终点问题,但它违背了REST模型理念。 你可以说GraphQL已将此方法用到了极致。它不是根据明确定义资源来思考,而是根据整个资源领域子图来进行思考。 ?...allPlayers查询情况下,它可以返回一个空列表,但不能为空值。 此外,这意味着列表球员也不能为空值(因为它也有一个感叹号)。 ? 设置GraphQL服务器 ?...让我们将卡里姆添加到我们数据库。 我们可以定义GraphQL变动来执行操作,如添加,更新和删除图中数据。 首先,让我们模式添加一个变动类型。...您可以查询修改数据,并且您可以仅返回来自变动(mutation)数据。 GraphQL不会窥探你代码。 查询和突变都可以接受参数并返回数据。 它更像是语法糖,让你模式更具人性化。 ?

3.5K60

用ServBay快速构建下一代GraphQL应用

理解微服务架构微服务架构是一种将应用程序构建为一组小服务方法,每个服务运行在其自己进程,并通过轻量级机制(通常是HTTP资源API)进行通信。...这些服务围绕业务能力构建,可以独立部署,由完全自治团队维护。我们深入构建微服务过程之前,了解 GraphQL 在此架构作用非常重要。什么是GraphQL?...主要功能包括声明式数据获取:使用 GraphQL,客户端可以查询精确指定所需数据,包括字段和关系。这消除了传统 REST API 经常出现数据过度获取和获取不足问题。...高效类型系统: GraphQL 拥有强大类型系统,可以 API 定义数据结构和关系。高效数据加载功能: GraphQL 使客户端能够单个请求检索多个资源。...然后,无论底层基础设施如何,这些映像都可以作为独立组件隔离容器环境执行,并配备所需计算资源。

13200

安息吧 REST API,GraphQL 长存

使用 GraphQL 客户端程序可以通过其功能查询该模式。这种方法使得客户端与服务端解耦,并允许其两者独立开发和扩展。 GraphQL 请求可以是查询(读取操作)或突变(写入操作)。...现在,将 GraphQL 查询与我们为数据定义声明式 React UI 进行比较。GraphQL 查询所有内容都在 UI 中被用到,UI 所有内容都会显示 GraphQL 查询。...,记住,我们是一次往返获得所有这些数据。...客户端可以要求服务器只执行使用查询唯一标识符预先批准查询。据说 Facebook 采用就是这种方法。 认证和授权是使用 GraphQL 时需要考虑其他问题。...我们只需把它当作可以客户端和我们实际数据服务(或多个服务)之间放置一个中间层。 然后将认证和授权视为另一层。GraphQL 实际身份验证或授权逻辑实现并无用处,因为它意义并不在于此。

2.7K30

英国卫报基于 Serverless、React 和 GraphQL 构建内容协作工具 Pinboard

问题在于,考虑到新闻日程快节奏,我们编辑工具之外这样做可能会导致混淆和错误。与此同时,人们普遍认为,制作过程中提前准备资产(图像和视频)对产出作品更有益。...服务器端,使用 AWS Lambda 执行所有业务逻辑,使用 AWS RDS for PostgreSQL 存储用户和项目数据。...Pinboard 架构(来源:卫报工程博客) Pinboard 架构很大程度上依赖于无服务器组件,Lambda 函数充当了各种不同角色,包括为嵌入到编辑工具客户端应用提供服务、提供 AppSync...Pinboard 使用 GraphQL 获取和聚合来自多个数据源数据,避免编写自定义数据聚合层,并充当 API 适配器门面。...GraphQL 提供第三种操作类型是 GraphQL 订阅,客户端维护与 GraphQL 服务器长时间连接(通常通过 WebSocket),接收关于后端数据变化实时通知。

6210

GraphQL最突出架构优势是什么?

在过去几年中,我们已经看到各种规模和形态公司都开始整个组织逐渐采用 GraphQL,例如 Expedia、Nerdwallet 和 Airbnb。...数据图从客户端延伸到服务器,并为现代 Web 应用程序获取数据和更改状态时面临最常见基础架构问题提供了答案 为了通过 GraphQL 与后端服务通信,Apollo Client 公开了几种客户端方法...对于突变,解析器可以简单地将控制权传递给一个应用层用例。 将用例作为应用程序重心后,从 REST 切换到 GraphQL(或同时支持两者)变得轻而易举。...6关注点扩展和分离 GraphQL 原则指出, “你公司应该有一个统一图,而不是让各个团队创建很多图。” 随着越来越多团队开始使用 GraphQL,公司内部会出现多个情况。...通过 Apollo Federation,我们可以绘制并公开由多个 GraphQL 端点组成单个数据图 Federation ,你可以组成模式并解析其他服务 / 限界上下文中字段。

2.1K20

headless CMS_model view controller

全渠道准备:Headless CMS创建内容是“纯粹”,您可以您想要每个上下文中使用。如果您在其上存储了一些新闻内容,您也可以公共网站或内部网上发布,将数据输入到一个地方。...非标准输出格式:有些使用graphql或Odata,这很好,因为它为数据消耗提供了标准方法。问题是“某些”并不意味着“全部”,所以你必须注意选择你HCMS。...何时使用HCMS很方便: 一段时间里,UI上有很多变化 许多共享相同信息应用程序和一个管理它团队 您对数据业务逻辑很少 你可以聘请多个团队(be + fe) 您何时不应该使用HCMS: 有一个符合您需求垂直解决方案...服务层 服务层是系统核心部分。使用mongodb实体上常规JObject映射,您可以mongo集合存储您想要任何内容,所有数据都是无类型。 这是本类中最相关部分,用于解释它工作原理。...基于此,您可以通过实现lamba来调整系统所有内容。每个lambda实例都在运行时发现,并根据lamba类型和事件调用,并将数据上下文传递给它。 下面给出一些lambda示例。

74420

「首席架构师推荐」React生态系统大集合

compose-state - React编写多个setState或getDerivedStateFromProps更新程序 react-with-analytics - 轻松实现Google Analytics...GraphQL教程 GraphQL简介 关于GraphQL第一个想法 以类似的方式GraphQL建模查询 Thin and Graphy GraphQL概述 - GraphQL和Node.js入门...- 运行GraphQL服务器最简单方法 数据库集成 Hasura - Postgres上即时实时GraphQL Prisma - 一个高性能开源GraphQL ORM-like层,可以GraphQL...:JSCSS Pete Hunt:可预测,不正确 - Mountain West JavaScript 2014 黑客方式:重新思考Facebook上Web应用程序开发 Christopher Chedeau...- f8 2015) Citrusbyte推出GraphQL:与Nick Schrock合作横向平台 Laney Kuenzel:接力突变和订阅 - JSConf 2015 React今天和明天和

12.3K30

使用 GraphQL 和 Ballerina 操作多个数据源

本文中,我们将探讨如何使用 GraphQL 和 Ballerina 将 MySQL 数据库数据作为 API 公开出来。...服务类型每一个资源方法表示 GraphQL 对象一个字段,资源方法可以有输入参数,这些输入参数被映射到相应字段参数。...Ballerina GraphQL 服务 下一步是实现数据访问逻辑,也就是实现远程方法和资源方法。 完整代码 bookservice.bal 。服务代码如下所示。...完整访问数据库代码可以 bookdatastore.bal 中找到。 使用生成图表 因为存在多个实体之间交互,所以集成用例就变得很复杂。...我们示例,我们实现了一个书店 GraphQL 应用场景,结合了多个后端数据源,包括 MySQL 数据库和 Google Books API。

2.4K20

怎样使用 apollo-link-state 管理本地数据

解决问题基础 我们知道这个问题需要解决,现在让我们思考一下,如何正确 Apollo Client 管理状态?...要实现一个理想状态管理方案,我们应当对 Redux 取长弃短。此外,GraphQL 有能力将对多个数据源请求集成单次查询,在此我们将充分利用这个特性。 ....GraphQL 最大一个优势在于,当给 GraphQL 语句中字段加上合适 GraphQL 指令后,单条 query 就可以从多个数据源获取数据,无论本地还是远端。让我们来看看具体方法。...正确方法是使用 [apollo-link-rest](https://github.com/apollographql/apollo-link-rest),这个包里包含有 @rest 指令。...以上这段代码通过 @client 指令将数据修改限制本地。 GraphQL 一个很让人激动功能是单个 query 多个数据源请求数据。

2.3K100

一种不错 BFF Microservice GraphQLREST API 层开发方式

仅在生产版本可用 false CLUSTER_MODE 服务器上启用/禁用 Node Clustering (true 或 false) false SWAGGER_API_DOCS_ROOT 服务您...如果启用了 JWT 安全性(环境变量 JWT_AUTH 为 true),我们需要使用登录突变 API 来获取示例 JWT 令牌(当前设置为1小时到期) Step 1 - 使用登录 mutation(突变...“Authorization” header 设置 Bearer token,用于后续调用任何 /examples api,将导致基于角色授权失败 GraphQL Directives 这项工作正在进行...此处区别在于,我们使用 @auth 指令根据角色来处理身份验证,而不是对解析程序实现进行硬编码。这是更清蒸方法,并且与解析器分离。...Compression 默认情况下,压缩是服务器上启用,并且基于压缩模块 配置详细信息位于 compression.ts 文件 如果需要在不压缩情况下获取响应,请在请求头中传递 x-no-compression

2.3K10

React 设计模式 0x6:数据获取

它是同构(即可以浏览器和 nodejs 中使用相同代码库)。服务器端,它使用本地 node.js http 模块,而在客户端(浏览器),它使用 XMLHttpRequests。...GraphQL 提供了 API 数据完整且易于理解描述,使客户端能够精确地请求所需数据,避免了不必要数据传输,使得 API 能够随着时间推移更容易地发展,并提供了强大开发者工具。...有几种方法可以 React 实现数据缓存。...React 应用程序缓存数据并使用它方法。...从 API 缓存数据可以存储我们状态管理,然后我们应用程序全局使用。尽管数据被缓存,但在刷新页面时,它将丢失数据,需要重新获取。

1.2K20

安全地将 Netflix 迁移到 GraphQL

现在,它们使用了 Federated GraphQL,这是一种分布式 API 方法,领域团队可以独立地管理和拥有特定部分 API。...我们不希望传统 Falcor API 永远存在,因此我们采用了 Federated GraphQL 来支持一个具有多个 GraphQL 服务器单一 GraphQL API。...AB 实验结果表明,GraphQL 正确性达不到遗留系统水平。 接下来几个月,我们深入研究了这些高级指标,并修复了缓存 TTL、有缺陷客户端假设等问题。...迁移下一个阶段是一个以 GraphQL 为主服务器(Video API Service)重新实现我们现有的 Falcor API。...我们开发了一个 Replay 测试工具,以验证幂等 API 是否从 GraphQL Shim 正确迁移到 Video API 服务。 它是如何工作

13830
领券