开始使用

前言

阿里云升级版 Java SDK 基于 Java 7 以上的版本开发,是通过总结开发者在原版 Java SDK 中遇到的一系列问题后重新开发的一版 SDK。该版本 Java SDK 新增了许多特性,主要以易于用户理解,降低用户接入成本并提升 SDK 的健壮性为主。本文不仅会为大家详细介绍升级版 Java SDK 与原版 Java SDK 相比所增加的新特性,也会通过介绍二者使用上的区别来为升级版 Java SDK 的开发者提供使用指南。

升级版 Java SDK 的新特性

升级版 Java SDK 是基于阿里云自研的 DSL 语言Darabonba生成,通过 DSL 的灵活性不仅可以进行更多的表达而且通过解析 DSL 生成的 AST 也能抹平阿里云不同产品生产的不同风格 OpenAPI 的差异轻松的实现 OpenAPI 到 SDK 的生成。通过 DSL 的方式并结合以往 Java SDK 中的问题,阿里云提供的升级版 Java SDK 具备以下的特性:

  1. 解决原版 SDK 中产品 OpenAPI 风格不同(RPC或ROA)造成使用方式不一致问题,升级版 SDK 中所有云产品的 SDK 使用方式相同,使用体验一致。

  2. 通过 DSL 使 SDK 具备逻辑表达能力,从而使升级版 SDK 不用像原版 SDK 与 SDK Core(aliyun-java-sdk-core)耦合性高的问题,降低了开发者因为 SDK 的升级带来的开发成本。

  3. 每个云产品的 SDK 提供一个 Client 对象,通过实例化 Client 对象就可以调用云产品的所有 API。通过这样钉的方式,不仅解决了原版 SDK 单 Client 容易造成线程安全问题,同时通过该方式使每个云产品之间身份和鉴权信息隔离从而解决了用户使用原版 SDK 造成的 profile 信息在不同产品之间混用造成的权限管理问题。用户也可以根据不同的云产品 OpenAPI 的情况配置不同的参数,例如服务区域、超时时间、HTTP 代理、重试配置等。

  4. 升级版 SDK 支持更复杂的 OpenAPI 使用场景,例如阿里云的人体人脸(FaceBody)等产品中需要上传图片到 OSS 以后,通过该链接对图片进行人工智能分析处理,就可以通过升级版 SDK 组合上传鉴权、上传图片、图片分析三个操作从而实现对该 OpenAPI 使用的简化。

  5. 升级版 Java SDK 不仅为 SDK 中的所有的 OpenAPI 请求生成相应的示例,同时也通过对 SDK 中的多个 OpenAPI 请求进行组合从而提供 SDK 的场景化示例,这样的示例不仅可以帮助开发者降低接入 SDK 的成本,同时也可以帮助开发者更好的理解云产品的业务场景。