创建实例

本文主要介绍通过API接口调用方式进行全局流量管理产品实例的创建。

前提条件

实例创建、续费使用阿里云交易和账单管理API,因此调用的时候需要遵循阿里云交易和账单管理API相关规范。

实例创建服务

具体参考:实例创建服务

SDK

  • Maven依赖

<dependencies>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-bssopenapi</artifactId>
        <version>1.6.6</version>
    </dependency>

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.4.6</version>
    </dependency>
</dependencies>

其他语言参考:SDK列表

重要

中国站RegionId固定使用为cn-hangzhou、国际站RegionId固定使用为ap-southeast-1。

创建全局流量管理实例

描述:通过CreateInstance进行全局流量管理实例创建。

调用接口名称:CreateInstance

接口参考文档实例创建服务

接口参数说明

接口参数与取值范围参考如下:

参数对应购买页模块说明:

111

名称

类型

是否必填

说明

描述

ProductCode

String

产品代码

产品code,取值:dns

ProductType

String

产品类型

商品code,取值:dns_gtm_public_cn

SubscriptionType

String

付费类型

付费类型,取值:

Subscription (预付费)

Period

Integer

预付费周期

当创建预付费实例时,必须设置,单位为月,按年付费产品请输入12的整数倍

Parameter.1.Code

String

套餐版本

PackageEdition

Parameter.1.Value

String

订购的套餐版本

standard(标准版)

ultimate (旗舰版)

Parameter.2.Code

String

探测任务包

HealthcheckTaskCount

Parameter.2.Value

String

订购的探测任务包数量

默认值:0

最小值:0

步长:100

最大值:100000

Parameter.3.Code

String

国内短信通知包

SmsNotificationCount

Parameter.3.Value

String

国内短信通知包订购数量

默认值:0

最小值:0

步长:1000

最大值:100000

RenewalStatus

String

自动续费状态

AutoRenewal:自动续费。ManualRenewal:手动续费。

默认ManualRenewal

RenewPeriod

Integer

自动续费周期, 单位为月。

当设置RenewalStatusAutoRenewal时,必须设置

请求示例

https://business.aliyuncs.com/?Action=CreateInstance
&Parameter.1.Code=PackageEdition
&Parameter.1.Value=standard
&Parameter.2.Code=HealthcheckTaskCount
&Parameter.2.Value=0
&Parameter.3.Code=SmsNotificationCount
&Parameter.3.Value=0
&Period=1
&ProductCode=dns
&ProductType=dns_gtm_public_cn
&SubscriptionType=Subscription

调用Demo参考

package alidnstest.domainmanager;

import com.alibaba.fastjson.JSON;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceRequest;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceResponse;
import com.aliyuncs.exceptions.ClientException;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import utils.AlidnsTestBase;

public class InstanceCreate extends AlidnsTestBase {

    @Test
    public void createInstanceTest() {
        CreateInstanceRequest request = new CreateInstanceRequest();
        request.setProductCode("dns");
        request.setProductType("dns_gtm_public_cn");
        request.setSubscriptionType("Subscription");
        request.setPeriod(1);
        CreateInstanceRequest.Parameter parameters1 = new CreateInstanceRequest.Parameter();
        parameters1.setCode("PackageEdition");
        parameters1.setValue("standard");

        CreateInstanceRequest.Parameter parameters2 = new CreateInstanceRequest.Parameter();
        parameters2.setCode("HealthcheckTaskCount");
        parameters2.setValue("0");

        CreateInstanceRequest.Parameter parameters3 = new CreateInstanceRequest.Parameter();
        parameters3.setCode("SmsNotificationCount");
        parameters3.setValue("0");

        request.setParameters(Lists.newArrayList(parameters1,parameters2,parameters3));
        try {
            CreateInstanceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}