## 视频
<video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/DOP220-Simplify_building_applications_with_AWS_SDKs-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video>
## 导读
Amazon SDK 在组织的应用程序和服务中使用亚马逊云科技服务方面发挥着至关重要的作用。在本讲座中,您将了解 Amazon SDK 的现状和未来,探索它们如何简化您的开发人员体验并释放新功能,同时了解 Amazon SDK 如何不断发展,并以多种语言提供一致性的体验,以及如何通过高级抽象使您能够做更多事情,从而更轻松地在亚马逊云科技上进行构建。了解如何使用 Smithy 等开源工具构建 Amazon SDK,以及如何使用这些工具构建自己的 SDK 以满足客户的需求。
## 演讲精华
<font color = "grey">以下是小编为您整理的本次演讲的精华,共800字,阅读时间大约是4分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font>
伊恩和亨特的演讲详细介绍了如何利用亚马逊云科技的SDK简化应用开发的过程。他们分享了关于模型驱动API开发、内置SDK功能和可插拔架构的深入见解。强调模型驱动API开发应以客户体验为核心,并通过反向推动来实现这一目标。这种方式可以在服务间和语言间建立一致性,为客户提供统一的体验。此外,这种方法还可以将常见的客户行为直接构建到SDK中,从而简化开发过程。
亨特详细阐述了Smithy作为开源接口定义语言的优势,如鼓励基于资源的API并保持协议中立。他还提供了一个简单的天气服务示例,展示了如何使用Smithy来定义接口。演讲者们还通过一个创建队列操作的实例,向观众展示了如何使用Kotlin、TypeScript和Go等语言生成SDK代码。这表明Smithy使得服务团队能够专注于客户体验,而SDK团队则负责处理惯用代码的生成。
亨特总结道,模型驱动的开发允许亚马逊云科技在服务和语言以及功能方面进行扩展。他还提供了一个示例,展示客户如何使用Smithy来构建服务网关并生成OpenAPI规范、文档和SDK。总的来说,模型驱动的开发通过从客户旅程出发并开始,简化了应用程序的开发过程,实现了跨服务和语言的持续统一体验。
艾安开始探讨内置SDK的功能,这些功能简化了应用程序的开发过程。他强调了异步操作的实用性,例如DynamoDB表的创建,需要在初始响应后进行状态轮询。SDK提供了等待器来处理这类轮询,使得开发人员无需实现样板状态检查代码。
另一个常见的做法是分页响应,例如通过返回截断结果和用于获取下一页的标记符的DynamoDB查询。SDK的分页功能可以处理传递这些标记符以检索完整的结果集。艾安展示了相较于手动编写分页逻辑,分页功能的实现如何减少了所需的代码行。
针对事件流(如Transcribe),SDK能处理流式传输请求和响应,使开发人员无需管理数据分块。SDK还提供智能默认设置,根据环境优化重试等设置。这节省了开发人员的时间,同时也提供了优化的行为。
艾安解释了如何处理跨服务和语言的常见模式,以及这些内置功能如何简化开发。开发人员花在样板逻辑上的时间更少,而花在区分其应用程序的业务逻辑上的时间更多。
为了实现定制和可扩展性,SDK正朝着可插拔的架构发展。所有的SDK都必须实现请求管道步骤,包括序列化、签名和重试等。随着时间的推移,SDK在如何实施此管道方面已经发生了变化。Smithy参考架构旨在通过定义模块化的运行时组件来协调SDK,这些组件用于管道步骤。这使得您能够仅使用所需组件构建优化的客户。亨特提供了一个关于如何通过实现管道模块来自定义重试的例子。
参考架构还标准化了远程测量以观察性和通过拦截器自定义请求的集成点。亨特通过一个关于在Rust和Kotlin中添加代理头部的拦截器示例来说明了这个概念。即将推出的SDK已经实现了这个架构,并将逐步添加到现有SDK中。
猎人总结了一种可插拔架构如何简化应用程序开发过程。例如,拦截器等集成点可以实现自定义功能。标准化的大数据可以与可观察性工具相结合。模块化设计提升了性能和可扩展性。将该架构开源将促使亚马逊云科技和客户共同推动创新。
简而言之,Ian强调SDK的目标是为各种服务、语言和环境提供一致的开发者体验。模型驱动开发、内置功能和可插拔式架构都有助于通过亚马逊云科技简化应用开发过程。开发者可以更专注于业务逻辑,而非SDK集成和样板代码。
演示过程中展示了亚马逊云科技SDK如何整合多年来从服务开发和客户反馈中吸取的经验,从而积极主动地简化应用构建过程。随着亚马逊云科技的规模和创新能力的持续增长,SDK提供一个统一且优化的开发者体验抽象层。
**下面是一些演讲现场的精彩瞬间:**
亚马逊云科技的SDK为开发者提供了工具,以便构建使用亚马逊云科技服务的应用程序。
![](https://d1trpeugzwbig5.cloudfront.net/DOP220-Simplify_building_applications_with_AWS_SDKs/images/rebranded/DOP220-Simplify_building_applications_with_AWS_SDKs_0.png)
这些SDK支持12种编程语言的350多种服务,超过14,000次API调用,并每天进行更新。
![](https://d1trpeugzwbig5.cloudfront.net/DOP220-Simplify_building_applications_with_AWS_SDKs/images/rebranded/DOP220-Simplify_building_applications_with_AWS_SDKs_1.png)
亚马逊云科技提供了一系列工具,包括认证、配置文件、自动重试、等待器、分页和端点解析,以帮助确保应用程序在云中具有弹性、安全且易于管理。
![](https://d1trpeugzwbig5.cloudfront.net/DOP220-Simplify_building_applications_with_AWS_SDKs/images/rebranded/DOP220-Simplify_building_applications_with_AWS_SDKs_2.png)
为了避免内存问题和拒绝服务攻击,明智的做法是截断列表响应。
![](https://d1trpeugzwbig5.cloudfront.net/DOP220-Simplify_building_applications_with_AWS_SDKs/images/rebranded/DOP220-Simplify_building_applications_with_AWS_SDKs_3.png)
领导者解释了亚马逊云科技如何配置区域内部调用的严格超时以快速失败并实现快速重试。
![](https://d1trpeugzwbig5.cloudfront.net/DOP220-Simplify_building_applications_with_AWS_SDKs/images/rebranded/DOP220-Simplify_building_applications_with_AWS_SDKs_4.png)
亚马逊云科技的SDK提供了一套一致的模式和可传递的知识,跨越语言、服务和环境。
![](https://d1trpeugzwbig5.cloudfront.net/DOP220-Simplify_building_applications_with_AWS_SDKs/images/rebranded/DOP220-Simplify_building_applications_with_AWS_SDKs_5.png)
要了解更多关于亚马逊云科技[开发人员工具](https://aws.amazon.com/cn/developer/tools/?trk=cndc-detail)和Smithy的信息,请访问QR码。
![](https://d1trpeugzwbig5.cloudfront.net/DOP220-Simplify_building_applications_with_AWS_SDKs/images/rebranded/DOP220-Simplify_building_applications_with_AWS_SDKs_6.png)
## 总结
这段视频来自于亚马逊云科技的re:Invent,探讨了如何简化应用程序开发过程中使用亚马逊云科技服务的流程。
作为全球领先的云计算公司,亚马逊云科技提供超过350项服务,涵盖了12种编程语言的数千个操作,并每天进行更新以紧跟最新的服务和功能。其SDK(软件开发工具包)内置了诸如认证、重试、等待器和分页等通用功能,以应对调用亚马逊云科技服务的复杂挑战。
亚马逊云科技采用了模型驱动的API开发方法,并通过一种名为Smithy的接口定义语言来实现。这种方法允许使用通用模型来定义服务,从而在多种语言中生成SDK代码。Smithy鼓励面向资源的API设计和协议灵活性。
除了基本的API调用外,SDK还包括客户端端的逻辑,例如处理异步操作的等待器、分页响应的分页器和双向数据流的事件流。智能默认设置可以优化不同环境和用例的配置。
SDK采用了模块化的插槽式架构,实现了可定制性和一致性。运行时组件负责处理请求序列化、认证和重试等步骤。标准化的集成点允许拦截器自定义请求。常见的遥测信号提供了对SDK行为的可观察性。
总之,亚马逊云科技的SDK通过各种方式简化了应用程序开发过程,包括在各种语言和环境间一致地处理与亚马逊云科技服务的集成复杂性。这种模型驱动的方法、客户端端逻辑和插槽式架构共同推动了在亚马逊云科技上构建应用程序的速度。
## 演讲原文
## 想了解更多精彩完整内容吗?立即访问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 余种核心云服务产品免费试用“")