『千举万变,其道一也』教你一招玩转阿里云
前言 在开始正文之前,我们先看下面几个问题: 阿里云刚刚开放了新一个产品,还没有发布SDK,直接接入API签名逻辑太复杂了搞不定怎么办? 我们的应用非常轻量,但阿里云的SDK比较重(API请求/应答类非常多),有没有轻量的使用方法? 阿里云的XX产品刚刚开放了一个新的API,但SDK还没有更新怎么办? 以上所有问题的答案,都是:“用SDK的CommonRequest!” CommonRequest是什么? CommonRequest,是阿里云官方推出的、泛用型的OpenAPI调用接口,您可以使用CommonRequest,实现任意OpenAPI接口的调用,CommonReques有如下特点: 轻量:只需Core包即可发起调用,无需下载安装各产品线SDK。 简便:无需更新SDK即可调用最新发布的API。 泛用:只需传入OpenApi标识信息,就可以调用任意OpenApi。 CommonRequest支持哪些语种? CommonRequest是阿里云SDK核心包中的功能,也就是说,SDK支持哪些语种,CommonRequest就支持哪些语种。目前,可以支持的语种有:Java、Go、Python、C#、C++ 什么场景下,我该使用CommonRequest? 任何场景下,都可以使用CommonRequest,您可以自由选择调用方式。除了前言中提到的场景外,下列场景下,我们建议您选用CommonRequest: 平台开发,用户可能会调用任意一个Api,CommonRequest可以免去您反射SDK代码或穷举编写的麻烦。 经典用法下,SDK的请求/应答字段与实际不符时。当然这种场景下也希望您能将具体的情况反馈给我们。 我该如何使用CommonRequest? 阿里云SDK文档中,提供了详细的使用方法和示例代码,具体的链接如下: Java:https://help.aliyun.com/document_detail/61469.html Go:https://help.aliyun.com/document_detail/66221.html Python:https://help.aliyun.com/document_detail/61476.html C#:https://help.aliyun.com/document_detail/61473.html C++:https://help.aliyun.com/document_detail/65189.html CommonRequest的原理是什么? 简单来说,从代码结构上讲,各产品的SDK,其实是对CommonRequest的一种封装。 CommonRequest实现了所有阿里云 OpenApi的底层共用逻辑,例如:身份凭据维护、签名校验、域名路由等等,而特定的每个Api的请求与应答结构,则是基于CommonRequest的基础上,进行的开发/封装。 当然,"Talk is cheap, show me the code.",您可以直接在github上查看SDK以及CommonRequest的源码 Java:https://github.com/aliyun/aliyun-openapi-java-sdk Go:https://github.com/aliyun/alibaba-cloud-sdk-go Python:https://github.com/aliyun/aliyun-openapi-python-sdk C#:https://github.com/aliyun/aliyun-openapi-net-sdk C++:https://github.com/aliyun/aliyun-openapi-cpp-sdk