Google公开了云服务API设计指南

Google公开了用于创建HTTP或RPC API的API设计指南。对于创建连接Google Cloud Endpoints的gRPC API的开发人员来说,这些设计原则更值得推荐使用。

早在2014年,Google在创建云服务API或其它服务API时就开始在内部使用了这些设计指南。指南中探讨了HTTP或RPC API的设计。虽然HTTP API(也称为REST API)的优点是公认的,但是它们距离实用尚有时日。Google推荐RPC尤其是其变体gRPC。据Google说,虽然大部分的因特网API是HTTP,但是通常被云服务和服务提供商内部使用的是RPC,并在数量上远高于HTTP API。

对于通过方法操作一个或多个资源这样的场景,Google推荐在设计RPC API时使用类REST方法。资源(也可称为域实体)使用URI表示,也可以在网络路径格式后面加上唯一的名称(ID)。同一类型的资源将组织成同一集合。

使用的标准方法包括Create、Delete、Get、List和Update。对于不能映射到任一标准方法上的操作,例如数据库事务,用户也可以创建自定义方法。推荐使用较少的方法来操作尽可能多的资源。

在创建资源时,推荐执行如下步骤:

确定API提供的资源类型。 确定资源间关系。 基于类型和关系确定资源的命名模式。 确定资源模式。 为资源附加最小的方法集。
Google使用“语义化版本”标准命名版本,命名使用三个数字,形式为“主版本.次版本.补丁”。预发布版本在命名时添加了一个前缀,例如“1.0.0-alpha”。

对于资源、标准、自定义方法、标准域、错误、使用proto3创建API等方面,指南提供了更多细节和例子。

本文转自d1net(转载)

时间: 2024-09-20 01:01:19

Google公开了云服务API设计指南的相关文章

在Windows Azure云服务上设计大型服务的最佳做法

今天的帖子来自于http://www.aliyun.com/zixun/aggregation/16689.html">Jason Roth,主编程作家.他提供了来自我们的客户咨询团队的新白皮书的概述,涉及在Windows Azure上 设计大型服务的最佳做法.我们最近发行了新的白皮书:在Windows Azure 云服务上设计大型服务的最佳做法.这份文件汇集了基于实际的客户约定的设计模式和指导方针.它结合了最好的策略和设计模式,始终如一地证明了真实世界的 Windows Azure 应用

阿里短信服务API接入指南及示例

阿里短信服务,用淘宝账号打通三大运营商通信能力,以开放API方式向开发者提供短信服务.阿里短信服务具备3秒可达.99%到达率和超低资费的优势,并完美支撑了双11"2亿用户,6亿短信,8万并发"的挑战.本文将介绍阿里短信服务API的接入方法,并提供了多种编程语言的调用示例. 订购阿里短信服务 进入阿里云数据市场订购阿里短信服务.阿里短信服务是后付费商品,0元即可订购,成功发送短信后再付费.资费详见商品详情页面. 阿里短信服务接入指南 订购阿里短信服务后,就可以设置短信签名和短信模板,然后

RESTful API 设计指南

作者: 阮一峰 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致 API 构架的流行,甚至出现"API First"的设计思想.RESTful API 是目前比较成熟的一套互联网应用程序的 API 设计理论.我以前写过一篇<理解 RESTful 架构>,探讨如何理解这个概念. 今天,我将介绍 RESTful API 的设计细节,

Web API设计方法论

Web API设计方法论 设计Web API不止是URL.HTTP状态码.头信息和有效负载.设计的过程--基本上是为了你的API"观察和感受" -- 这非常重要,并且值得你付出努力.本文简要概括了一种同时发挥HTTP和Web两者优势的API设计方法论.并且它不仅对HTTP有效.如果有时你还需要 通过WebSockets.XMPP.MQTT等实现同样的服务,大部分API设计的结果同样可用.可以让未来支持多种协议更容易实现和维护. 优秀的设计超越了URL.状态码.头信息和有效负载 一般来说

从超大规模云服务提供商处学习效率

企业数据中心团队可以从超大型云服务提供商那里学习到相应的重要的经验教训.与此同时,企业还应重新思考其冗余策略,并考虑采用诸如像SDN这样的技术来帮助提高效率. 现如今,在数据中心领域,超大规模云服务提供商所带来的效率和自动化程度的提高也已经开始逐渐转为向传统的数据中心普及了. 从最新的冷却技术到自动化配置的一切都是为了提高普通企业数据中心的效率,并帮助降低成本. Vantage数据中心的首席运营官,亚马逊网络服务(AWS)基础设施运营前任副总裁Chris Yetman表示:"您企业正在获得起草效

探索用户对云服务标准的期望

当云服务的运行很顺畅,而且服务水平协议 (SLA) 也能满足要求时,业务方.企业和机构可能希望将云存储的数据传输给不同的提供商,但却发现由于某些原因而做不到.其中一个原因是,用于在云中存储数据的 API 调用要求的数据格式与不同提供商用于在云中存储数据的 API 调用不兼容或不具互操作性. 于是,业务方在选择一家提供商提供云服务之前,将面临由于不同提供商采用的数据存储格式而引发的数据传输故障.(一种可降低损害的方式是与提供商谈判,从而在将数据传输给不同提供商时支持更大的灵活性.这包括将代码修改为

云服务新宠儿Spark和Hadoop,谁将是最后的赢家

Spark首次由Databricks发布,融资3300万美元;Hadoop再次得到MapR的1.1亿美元的融资,以促进其在激烈市场竞争中的成长.在未来的大数据处理中,Spark将会简化现有的数据管道处理,融合多种功能,使得数据处理更快.更方便和更灵活;Hadoop也将会以更快.更简单的方式读写大数据.巨大的融资金额将会促进Spark和Hadoop的大力发展,它们将以怎样的姿态立足未来的大数据市场呢,是并驾齐驱?还是独占鳌头?让我们拭目以待. Databricks发布Spark,融资3300万美元

发现云服务具有可满足其期望的技巧和工具解决方案

云服务标准可以解决并纠正基本的数据传输故障.在本文中,作者分析了用户对云互操作性的期望,并举例说明了各个云服务标准组织以及它们提供的解决方案. 当云服务的运行很顺畅,而且http://www.aliyun.com/zixun/aggregation/14189.html">服务水平协议 (SLA) 也能满足要求时,业务方.企业和机构可能希望将云存储的数据传输给不同的提供商(例如,IBM® SmartCloud),但却发现由于某些原因而做不到.其中一个原因是,用于在云中存储数据的 API 调

Swift 3 API 设计准则

一款编程语言标准库的设计理念,往往对这门编程语言给人的整体感觉有很大影响.好的标准库就好似语言本身的扩展一般,并且保证标准库内部的一致性可以有效提升整体的开发体验.为了搭建一个好的 Swift 标准库,Swift 3 的其中一个主要目标就是要定义一组 API 设计准则,并且始终如一地应用这些准则. Swift API 设计准则包含了几个主要目标,它们都旨在统一 Swift 的开发风格.这些主要目标分别是: Swift API 设计准则:实际的 API 设计准则我们目前正在积极开发中.目前,Swi