本文主要介绍通过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列表。
Client初始化请参考:安装新版Java SDK。
中国站RegionId固定使用为cn-hangzhou、国际站RegionId固定使用为ap-southeast-1。
创建全局流量管理实例
描述:通过CreateInstance进行全局流量管理实例创建。
调用接口名称:CreateInstance
接口参考文档:实例创建服务。
接口参数说明:
接口参数与取值范围参考如下:
参数对应购买页模块说明:
名称 | 类型 | 是否必填 | 说明 | 描述 |
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 | 否 | 自动续费周期, 单位为月。 | 当设置RenewalStatus为AutoRenewal时,必须设置 |
请求示例
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();
}
}
}