如果您需要开启宽带加速,可以调用开启宽带加速接口。

开启宽带加速接口(BandSpeedUp)

在购买了加速服务以后,就可以对指定的宽带账号进行加速,使用相应的加速服务。

参数列表

入参列表

参数名称 参数类型 是否必填 样例取值 参数说明
IpAddress String 192.168.1.1 加速宽带出口IP。
Port Integer 80 加速宽带端口。
BandId Long 10001L 加速宽带ID。
Direction String UP/DOWN 加速方向 上行/下行。
TargetBandwidth Long 100M 加速目标带宽,单位Mbps。
BandScene String 1 加速场景。

出参列表

参数名称 参数类型 样例取值 参数说明
RequestId String 89078768788ada 请求ID。
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表。
Message String 请求成功 状态码的描述。
ResultModle Boolean true 是否加速成功。

技术对接步骤

1. 下载SDK开发工具

SDK工具包中一共包含了2个类库,一个aliyun-java-sdk-core包,另外一个是snsu-open-api包,将这两个包执行mvn package命令或者mvn deploy命令打包出相应的jar包,添加到工程类库中依赖使用。点击进入工具包下载

2. 编写样例程序

/**
 * 产品名称:云通信加速API产品,开发者无需替换
 */
static final String product = "Snsuapi";
/**
 * 产品域名,开发者无需替换
 */
static final String domain = "snsuapi.aliyuncs.com";

// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
static final String accessKeyId = "yourAccessKeyId";
static final String accessKeySecret = "yourAccessKeySecret";

public static BandStartSpeedUpResponse bandStartSpeedUp() {

    BandStartSpeedUpResponse response = new BandStartSpeedUpResponse();
    /**
     * 可自助调整超时时间
     */
    System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    System.setProperty("sun.net.client.defaultReadTimeout", "10000");

    try {
        /**
         * 初始化acsClient,暂不支持region化
         */
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
        IAcsClient acsClient = new DefaultAcsClient(profile);

        /**
         * 组装请求对象-具体描述见控制台-文档部分内容
         */
        BandStartSpeedUpRequest request = new BandStartSpeedUpRequest();

        Integer port = 80;
        Long bandId = 10001L;
        String ipAddress = "127.0.0.1";
        Long targetBandWidth = 100L;
        request.setPort(port);
        request.setIpAddress(ipAddress);
        request.setBandId(bandId);
        request.setDirection("UP");  // 或者 Down
        request.setTargetBandwidth(targetBandWidth);
        /**
         * 具体的错误码可以参考具体的文档
         * 禁止Client的自动重试,如果加速失败,最好选择手动重试
         */
        response = acsClient.getAcsResponse(request,false,0);
        /**
         * 调用加速接口是否成功
         */
        Boolean isStartSpeedUp = response.getResultModule();
        System.out.println("Band Speed Up Result Is " + isStartSpeedUp);

        if (isStartSpeedUp) {
            // todo 加速成功
        } else {
            // todo 加速失败
        }
        return response;
    } catch (ClientException e) {
        /**
         * 需要捕获Client异常
         */
        e.printStackTrace();

        /**
         * todo 进行一些特定业务处理,重试或者抛出异常
         */
    }

    return response;
}