本文主要介紹通過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();
}
}
}