文档

调用方式

介绍产品调用API请求的请求和返回模式。

请求结构

EMAS应用基座的API是RPC风格,您可以通过发送HTTP GET/POST请求调用API。

其请求结构如下:

https://endpoint/?Action=xxx&Version=xxx&Parameters

其中:

  • Endpoint:指API的服务接入地址,例如:mhub.cn-shanghai.aliyuncs.com

  • Action:指要执行的操作,如调用ListProducts查询项目列表。

  • Version:指要使用的API版本,例如:EMAS应用基座的API版本是2017-08-25

  • Parameters:请求参数,涉及多个参数时每个参数之间用“&”分隔。 请求参数由公共请求参数和API自定义参数组成。公共参数中包含API版本号、身份验证等信息,具体请参见公共参数

Java SDK接入

1. 引入如下POM依赖:

<!-- 阿里云公共 SDK -->
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>tea-openapi</artifactId>
  <version>0.2.5</version>
</dependency>
<!-- EMAS 应用基座 -->
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>mhub20170825</artifactId>
  <!-- Version建议取maven仓库最新版本 -->
  <version>1.0.5</version>
</dependency>

2. Java调用示例:

重要

调用接口前,需配置环境变量,通过环境变量读取访问凭证。配置方法:

export CC_AK_ENV=<access_key_id>
export CC_SK_ENV=<access_key_secret>

<access_key_id>替换为您RAM用户的AccessKey ID,<access_key_secret>替换为AccessKey Secret。

import com.aliyun.mhub20170825.Client;
import com.aliyun.mhub20170825.models.ListProductsRequest;
import com.aliyun.mhub20170825.models.ListProductsResponse;
import com.aliyun.tearpc.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;
public class TestMhubSDK {
    public static void main(String[] args) throws Exception {
        // 1 创建Config实例并初始化。
        Config authConfig = new Config();
        // 配置SDK Profile。
        // 阿里云账号AccessKey拥有所有API的访问权限。建议您使用RAM用户进行API访问或日常运维。
        // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
        // 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。
        authConfig.accessKeyId = System.getenv("CC_AK_ENV");
        authConfig.accessKeySecret = System.getenv("CC_SK_ENV");
        authConfig.endpoint = "mhub.cn-shanghai.aliyuncs.com";
        authConfig.regionId = "cn-shanghai";
        Client authClient = new Client(authConfig);
        // 2 创建RuntimeObject实例并设置运行参数
        RuntimeOptions runtime = new RuntimeOptions();
        // 3 创建API请求并设置参数。
        ListProductsRequest request = new ListProductsRequest();
        request.setOffset(0);
        request.setSize(10);
        request.setSimple(true);
        // 4 发起请求并处理应答或异常。
        ListProductsResponse response = authClient.listProductsWithOptions(request, runtime);
       System.out.print(response.toMap());
    }
}
重要
  • 为避免在日志中泄漏参数accessKeyId/accessKeySecret或App运行过程中产生的数据,建议线上版本关闭SDK调试日志。

  • 由于所有用户使用统一的SDK接入,在接入过程中需要在代码中设置accessKeyId/accessKeySecret参数,而此类参数与计量计费密切相关,为防止恶意反编译获取参数造成信息泄漏,建议您开启混淆,并进行App加固后再发布上线。

Java SDK调用更多说明详见阿里云SDK官方说明文档。

  • 本页导读 (0)
文档反馈