sdk

120 阅读1分钟

公有云厂商的 SDK 设计方式中,SDK 按调用顺序从上到下可以分为 3 个模块,如下图所示:

image.png

Client 构造 SDK 客户端,在构造客户端时,会创建请求参数 req , req 中会指定 API 版本、HTTP 请求方法、API 请求路径等信息。

Client 会请求 Builder 和 Signer 来构建 HTTP 请求的各项参数:HTTP 请求方法、HTTP 请求路径、HTTP 认证头、HTTP 请求 Body。Builder 和 Signer 是根据 req 配置来构造这些 HTTP 请求参数的。

构造完成之后,会请求 Request 模块,Request 模块通过调用 net/http 包,来执行 HTTP 请求,并返回请求结果。

SDK(Software Development Kit)也是一个客户端,供开发者调用。开发者调用 API 时,如果是通过 HTTP 协议,需要编写 HTTP 的调用代码、HTTP 请求包的封装和返回包的解封,还要处理 HTTP 的状态码,使用起来不是很方便。SDK 其实是封装了 API 接口的一系列函数集合,开发者通过调用 SDK 中的函数调用 API 接口,提供 SDK 主要是方便开发者调用,减少工作量。