面向企业 API 开发人员的亚马逊云科技AppSync 的新功能

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 亚马逊云科技 AppSync 是一种使用 Serverless GraphQL 和发布/订阅 API 将前端 Web 和移动应用程序连接到数据和事件的简单方法。加入本论坛,了解今年发布的所有令人兴奋的亚马逊云科技 AppSync 新功能,这些功能使 API 开发人员能够更无缝地实现 GraphQL 对应用程序开发的好处。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1800字,阅读时间大约是9分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 在引人入胜的演讲开始时,迈克尔·伦多热情地向观众问候并介绍了他自己。作为一名拥有超过5年经验的资深开发者倡导者,他目前在亚马逊云科技(Amazon Web Services)工作。他欢迎了他的搭档布里·皮莱,这位在过去三年里一直致力于亚马逊云科技AppSync的产品经理,稍后也将与大家分享有价值的见解。 迈克尔环视了一下大约500名与会者,询问有多少人以前使用过AppSync。看到大约一半的人举手,他热情地评论说,他们代表了丰富的经验水平组合。他承诺会议将涵盖令人兴奋的新发展,如使用AppSync构建全栈应用程序和生成式人工智能,以及一些隐藏的宝藏。 迈克尔立即开始详细介绍亚马逊云科技AppSync。他解释道,AppSync是亚马逊云科技提供的一款完全托管的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)产品,使开发人员能够轻松地将他们的前端应用程序与后端基础设施和数据源连接起来。然而,他想要强调的是,AppSync不仅仅可以连接到数据库,还可以与各种类型的数据源轻松集成。 迈克尔强调了AppSync作为完全托管的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用的意义,这意味着开发人员需要编写的代码最少。使用AppSync,服务会自动编写100%的管理和基础设施代码,处理所有维护、安全性、扩展性能优化等方面的问题。 迈克尔强调,像AppSync这样的真正[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用自然会随着使用量的增加而无缝地扩大规模。当突然的用户或请求压力给应用程序带来压力时,AppSync可以轻松地扩大规模以满足需求,而无需任何额外的配置。 安全性问题也通过多种方式解决,包括与[Amazon Cognito](https://aws.amazon.com/cn/cognito/?trk=cndc-detail)进行身份管理集成,以及能够插入自定义OIDC提供商。由于AppSync是一款完全托管的专用服务,因此它消除了集成这些复杂解决方案的负担。 迈克尔过渡到主题,指出他们将探讨事件驱动的API驱动应用程序开发,这是一种当今非常受欢迎的途径。AppSync使得轻松集成微服务和在应用程序之间传播数据变得容易。 在2023年的re:Invent上,迈克尔幽默地提到,如果没有生成性AI,关于尖端技术的讨论将是不完整的。尽管他承诺稍后会探讨AppSync与[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)等服务的集成问题,但他希望激发与会者的兴趣。 迈克尔转而对比了AppSync和GraphQL的特点。他要求那些熟悉GraphQL的人再次举手,这次大约有75%的人举起了手。对于仍然不熟悉它的人,他总结说,GraphQL是一种允许客户端请求所需数据的查询语言。 亚马逊云科技通过AppSync提供了完全管理的GraphQL服务,使得开发人员无需配置和管理自己的GraphQL服务器。这消除了分配基础设施、确保正常运行时间、处理安全性和等其他操作的负担。 迈克尔强调了GraphQL的一些关键特性,如开发者通过定义类型和关系来驱动的开发模式,从而实现强大的类型检查和内省。但他指出,有趣的是,AppSync在解析器方面提供了更丰富的支持。 他回忆说,去年,AppSync支持使用JavaScript和TypeScript编写解析器,由后台的构建运行时转换成JavaScript。这消除了对许多用户不喜欢的Velocity模板语言的需求。 现在,开发人员可以使用JavaScript或TypeScript封装业务逻辑,而不是与Velocity的复杂性打交道。最终结果类似于Lambda函数,但集成到AppSync中。 基于此,迈克尔热情地将话语权交给了他的同事布里·皮莱,以便她详细介绍AppSync如何提升开发者体验。 布里热情地向大家打招呼,并表示很高兴能与迈克尔一起担任主讲人。作为过去三年亚马逊云科技AppSync的主要产品经理,布里对这个产品的演变有深入了解,这个演变是由直接的客户反馈驱动的。 她解释说,AppSync的一个关键重点是打造出色的开发者体验。去年发布的JavaScript解析器的发布是一个重要的飞跃,使得开发人员可以直接实施业务逻辑并访问数据源。 今年,AppSync在这个基础上增加了几个非常受欢迎的功能: TypeScript的支持,包括本地集成以提升工具性能和类型安全,一直是客户需求所在。客户期望完全集成TypeScript的功能。 首先,为已捆绑的解析器提供源地图,以满足用户对增强调试功能的需求,这将带来更好的可视性。其次,提供更多数组方法和箭头函数,以实现更丰富的函数式编程,满足客户对完整JavaScript语言的需求。此外,还包括针对简单数据源访问的单元解析器,无需使用管道,这是客户在不需要请求映射时的一个选项。 Bre详细阐述了在使用AppSync的JavaScript解析器时,开发过程的常见情况。解析器包含了从源中检索数据的请求处理程序,以及将数据格式化为客户端响应的响应处理程序。 借助TypeScript支持,开发者可以选择使用NPM库和由如ESB之类的工具打包的自定义模块。捆绑后的输出将是AppSync运行所需的内容。随后,源地图可提供回溯到原始源代码的调试信息。 Bre展示了一个使用自定义Bedrock实用程序模块来调用Entropic生成性AI模型的示例解析器的案例。通过将Bedrock逻辑封装在单独的模块中,可以轻松地在解析器之间重复使用,而无需重复代码。AppSync在后台处理所有的授权、API调用和集成复杂性。 接着,Bre介绍了一项与DynamoDB交互的重大改进。AppSync发布了一个动态数据库模块,旨在大幅简化基于直接客户反馈的DynamoDB低级别API调用。 为了说明如何使用该模块,Bre通过操作更新、条件、查询和投影等演示了如何与DynamoDB模块进行交互。他强调,相较于原始的DynamoDB API调用,这种新的实用程序模块的语法更为直观且简洁。该模块还实现了一些功能,例如过滤查询结果和指定要传递的属性,以便在传输数据时节省内存,从而提高性能。 布雷展示了如何在PostgreSQL插入语句和MySQL更新语句中安全地传递动态值。他强调了AppSync的功能,即一次可以发送多个SQL语句,从而实现在MySQL中返回已更新的行的效果,尽管它缺少PostgreSQL的RETURNING子句。总结这些优点时,布雷指出,JavaScript解析器和DynamoDB、RDS等工具使得更直观的数据访问成为可能,而不需要具备SQL专业知识。他建议大家尝试新功能并提供反馈。 接下来,迈克尔热情洋溢地展示了AppSync如何驱动实时事件驱动的应用程序。他展示了一个使用[Amazon Translate](https://aws.amazon.com/cn/translate/?trk=cndc-detail)进行实时翻译的聊天应用,以强调AppSync的速度。这个应用程序有两个使用不同语言的用户——用户1说英语,用户2说西班牙语。当用户1输入一条英语消息时,AppSync会调用Translate将其转换为基于他们在DynamoDB中存储的语言偏好的西班牙语给用户2。订阅将翻译实时推送给用户2,具有较低的延迟。 迈克尔赞扬了AppSync是如何无缝地协调复杂的后台过程,以提供流畅的实时用户体验的。他强调了架构的重要性,解释了新用户的语言偏好如何通过用户在注册时触发的一个Lambda触发器来填充DynamoDB。演示展示了AppSync在驱动实时应用程序方面的能力。 在过渡到他的下一个演示时,迈克尔展示了另一个实时[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用程序——一个使用[Amazon Textract](https://aws.amazon.com/cn/textract/?trk=cndc-detail)进行图像OCR和处理不同语言的收据的费用跟踪应用程序。这些演示说明了如何将AppSync、Lambda、DynamoDB、Textract和Translate等服务结合在一起,以在没有服务器的情况下构建复杂应用程序。 在设置下一个演示时,迈克尔暗示使用了亚马逊Bedrock,这是新的生成性AI服务。虽然AppSync可以直接调用Bedrock进行同步请求,但迈克尔根据客户的使用情况概述了一种基于异步流的高级参考架构。在这个模式中,AppSync调用一个Lambda函数,然后在该函数与Bedrock交互并返回初始响应后,实时更新客户端。这处理了像生成图像这样的长时间运行请求,这超出了浏览器同步请求的限制。 迈克尔随后展示了一款名为AppSync的应用程序,这款应用允许用户使用Bedrock来生成定制的词义搜索谜题。只需输入一个提示,例如“[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail) 亚马逊云科技 产品”,Bedrock就会提供与该主题相关的10个随机单词。在后台,一个解析器通过Lambda实现异步调用Bedrock。 迈克尔重新阐述了整个架构,并逐行解释了代码,强调了AppSync如何轻松地将Bedrock集成到长运行异步任务中。演示展示了如何在亚马逊云科技上构建全栈[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用程序,利用诸如AppSync、Lambda、DynamoDB和Bedrock等服务。 在迈克尔激发了人们对AppSync功能的兴趣之后,布雷接着讨论了AppSync是如何为大企业和安全性而设计的。他概述了三个重要的新增功能: - 私有API仅允许在VPC内部访问,这对于像银行这样有严格网络政策的客户来说非常重要。这使用了亚马逊云科技的PrivateLink技术。 - 合并API将多个源API合并成一个具有单个端点的统一API,从而在构建时解决冲突。这优雅地解决了客户一直在面临的编写微服务的网关和联盟问题。 - 改进的订阅指标和配额使得更大的规模和高实时观察性成为可能,这是客户在扩大使用过程中一直要求的。 关于合并API,布雷认为基于客户的反馈,AppSync在构建时的解决方案优于运行时的解决方案。预解决模式冲突使得配置、管理和原生订阅变得简单明了。 他还提到AppSync正在与Apollo等领导的开放源代码社区合作,共同制定GraphQL联盟规范。总的来说,布雷强调这些以企业为中心的功能表明了AppSync致力于满足更大客户的需求。 最后,布雷重点介绍了一些其他的AppSync相关会议,涵盖了私人API、合并API和生成性AI集成等主题。他对超过500名与会者表示感谢,鼓励那些还没有使用AppSync的人尝试一下。对于现有用户,他欢迎提供反馈,感谢他们选择AppSync。 在总结中,他重新阐述了AppSync宏伟的目标——通过出色的开发者体验,使开发者和用户能够构建可扩展、安全且基于API的应用程序。从观众的热情反应可以看出,AppSync的功能令人印象深刻,凸显了它在构建现代云原生应用程序方面的重要性。 **下面是一些演讲现场的精彩瞬间:** 演讲者向观众询问他们是否曾使用过AppSync,以了解现场的经验水平。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers/images/rebranded/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers_0.png) 为了说明客户直接访问数据库时的潜在危险,演讲者幽默地引用了“小鲍比·桌子”这一角色。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers/images/rebranded/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers_1.png) 如今,亚马逊云科技已支持使用JavaScript标签模板来编写安全的静态SQL语句,这些模板能够接收动态值。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers/images/rebranded/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers_2.png) 实时聊天翻译展示了亚马逊翻译功能的强大实用性。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers/images/rebranded/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers_3.png) 在演示过程中,可以看到用户在应用程序中与不同语言进行交互时,亚马逊翻译如何实现实时的文本翻译。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers/images/rebranded/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers_4.png) 此外,私有API功能使客户能够创建仅在它们自己的VPC内可访问的API,从而提高安全性。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers/images/rebranded/FWM201-What_s_new_with_AWS_AppSync_for_enterprise_API_developers_5.png) ## 总结 为满足企业需求,AppSync已增加私有API、合并API以整合多个GraphQL架构,并优化了指标和配额。这些改进提高了大规模生产应用程序的安全性能、可扩展性和可观察性。 总结:作为强大的GraphQL平台,亚马逊云科技AppSync不断进步。这些改进包括对开发者体验的优化(如支持TypeScript),与亚马逊云科技AI服务的整合,以及企业级功能。这使得AppSync能够适应更广泛的应用程序场景,从实时应用程序到内部企业系统。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭