限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

AWS 开源了 Smithy API 模型,可用于公共访问和开发人员工具

  • 2025-06-20
    北京
  • 本文字数:918 字

    阅读完需:约 3 分钟

大小:484.46K时长:02:45
AWS开源了Smithy API模型,可用于公共访问和开发人员工具

AWS 最近宣布其确定性 API 模型的公开可用性,每日向Maven Central发布更新,并通过一个新的GitHub存储库提供开源访问。

 

这些资源包含 Smithy API 模型,定义了 AWS 的公共接口、操作、行为和错误类型,超越了它们用于 SDK 和 CLI 生成中的内部使用。Smithy是一种协议无关的接口定义语言,它提供了一组工具,可用于为任何编程语言生成客户端、服务器和文档。

 

自 2018 年以来,AWS 一直在内部使用Smithy模型生成其 SDK 客户端和 CLI 工具。通过使这些模型公开可访问,AWS 旨在为开发和集成提供更广泛的生态系统。根据该公司的说法,通过这一举措,开发人员可以:

 

  • 生成自定义SDK客户端:使用 Smithy 工具链为尚未得到 AWS 官方的编程语言社区构建专门的 SDK。

  • 生成 API 实现:为特定语言框架创建服务器存根,包括对用于 AI 智能体的模型上下文协议(MCP)服务器配置的支持,并完成内置验证。

 

  • 构建自定义开发人员工具:为 AWS 集成开发模拟测试工具、IAM 策略生成器或更高级别的抽象。

  • 理解 AWS API 行为:获得对 AWS SDK 如何解释 API 调用及其预期行为的简洁且易于理解的洞察。

 

全栈开发人员 David Wells 在 X 上写道

 

这是一个令人难以置信的一方库,包含了所有的 AWS 服务模型。一个示例用例:将服务[xyz]的 Smithy 定义放入 Google AI Studio 中,并向它询问有关服务及其操作的问题。我发现了我从未找寻到的隐藏宝石。


 

api-models-aws GitHub 存储库以JSON抽象语法树(AST)格式托管这些 Smithy 模型,每个模型定义了服务类型、操作(包括输入、输出、特征和错误)以及对特定目标的引用,如 Amazon EC2 中的 RunInstances API。Smithy 的“shapes”代表类型,而“traits”为客户端、服务器或文档添加了关键的元数据,提供了详细的 API 信息,如使用示例。

 

开发人员可以利用 Smithy 构建工具(如Smithy CLI)来处理这些模型,执行临时验证、比较模型,并生成代码,而无需 Java 设置。AWS 提供了示例项目,包括使用Smithy TypeScript构建最小的 Amazon DynamoDB SDK 客户端的模板,以及构建 MCP 服务器的示例,这些 MCP 服务器将工具建模为 Smithy API 或任何 Smithy 服务的代理 MCP 服务器。

 

最后,更多信息请访问 Smithy.io 网站,其中包括它的代码生成指南。

 

原文链接:

https://www.infoq.com/news/2025/06/aws-smithy-api-models-opensource/

2025-06-20 17:006415

评论 1 条评论

发布
用户头像
11
2025-06-20 17:04 · 上海
回复
没有更多了

Flutter Android 端 FlutterEngine Java 相关流程源码分析

工匠若水

flutter android 面试 8月日更

如何设计一个容错的微服务架构

架构精进之路

架构 微服务 8月日更

架构实战营毕业总结

Saber

架构实战营 毕业总结

上游思维的三大障碍

石云升

读书笔记 8月日更 上游思维

Drools 规则属性

LeifChen

drools 规则引擎 8月日更 规则属性

crudapi增删改查接口零代码产品成功案例之商会联盟卡项目

crudapi

Java Vue 零代码 crudapi qusar

毕业设计:电商秒杀系统

唐高为

LeetCode题解:208. 实现 Trie (前缀树),对象,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

HarmonyOS组件开发 ScrollView嵌套ListContainer 滑动冲突问题

爱吃土豆丝的打工人

HarmonyOS ScrollView ListContainer 嵌套滑动

FastApi-13-文件上传-1

Python研究所

FastApi 8月日更

架构实战营毕业总结

唐高为

Python开发篇——基于React-Dropzone开发上传组件

吴脑的键客

Python flask React

netty系列之:对聊天进行加密

程序那些事

Java Netty nio

Vue进阶(三十六):created() 详解

No Silver Bullet

Vue 8月日更

Vue进阶(三十七):created、mounted等钩子函数整理

No Silver Bullet

Vue 8月日更

docker介绍与安装

Rubble

Docker 8月日更

架构实战营模块五作业-微博评论高性能高可用架构

王晓宇

架构实战营

智能边缘开源框架Baetyl,构建边缘融合智能应用

百度开发者中心

AI 最佳实践 物联网 边缘计算 开源技术

极客大学架构实战0期毕业总结

谢博琛

【Dubbo3.0 技术专题】总体技术体系介绍及技术指南(目录)

码界西柚

dubbo Dubbo服务 8月日更 Dubbo3

kubernetes/k8s CRI 分析 -kubelet 删除 pod 分析

良凯尔

Kubernetes 源码分析 Kubernetes Plugin #Kubernetes# cri-o

fil币价格行情怎么样?fil币价值和未来在哪?

fil币价格行情怎么样 fil币价值和未来在哪

JavaScript 中如何比较变量的相等

devpoint

JavaScript ES6 8月日更

架构实战营 | 毕业总结

架构实战营

杂谈:电商平台中的图片资源优化实战

云小梦

CSS JavaScript html5 jpeg 图片处理

模块五作业

Mr.He

架构实战营

Python Qt GUI设计简介、环境下载和安装(基础篇—1)

不脱发的程序猿

Python qt GUI设计 Qt Company

如何在二三线城市月薪过万(三)java偏功能实现的面试题,有备无患!!

小鲍侃java

8月日更

入职新公司后如何快速上手项目

咔咔

php MySQL 数据库

架构实战训练营总结

唐江

架构实战营

python爬取下载m3u8加密视频,原来这么简单!

Python研究者

8月日更

AWS开源了Smithy API模型,可用于公共访问和开发人员工具_AI&大模型_Steef-Jan Wiggers_InfoQ精选文章