抢占式实例价格随市场供需关系实时变化,您可以参考本文提供的Java代码示例查询抢占式实例当前最新的价格。
前提条件
-
已准备阿里云账号以及对应的访问密钥(AccessKey)。
使用Alibaba Cloud SDK for Java时需要设置阿里云账号的AccessKey信息。AccessKey的获取方式,请参见创建AccessKey。
-
已在开发环境中安装Java SDK。
您需要在Maven项目中添加以下依赖。具体操作,请参见安装Java SDK。
com.aliyun aliyun-java-sdk-ecs 4.23.10 com.aliyun aliyun-java-sdk-core 4.0.8 commons-lang commons-lang 2.6 com.alibaba fastjson 1.2.83
代码示例
本文提供名为QuerySpotLatestPrice
的示例类,代码中主要通过ECS的DescribePrice接口实现查询抢占式实例当前最新的价格功能。
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.ecs.model.v20140526.DescribePriceRequest;
import com.aliyuncs.ecs.model.v20140526.DescribePriceResponse;
import com.aliyuncs.profile.DefaultProfile;
/**
* 通过DescribePrice查询最新价格。
*/
public class QuerySpotLatestPrice {
private static IAcsClient client;
// 请将regionId修改为您需要查询的地域ID。
static String regionId = "cn-hangzhou";
// 查询专有网络VPC类型的ECS实例。
static String resourceType = "instance";
static String instanceNetworkType = "vpc";
// 请将instanceType修改为您需要查询的实例规格。
static String instanceType = "ecs.g6.8xlarge";
// 设置抢占策略为系统自动出价。
static String spotStrategy = "SpotAsPriceGo";
// 请将spotDuration修改为您需要保留抢占式实例的时长。不能确定保留时长时,请设置为0。
static Integer spotDuration = 1;
// 请将zoneId修改为您需要查询的可用区ID。
static String zoneId = "cn-hangzhou-i";
public static void main(String[] args) throws Exception {
client = Initialization();
describePrice(client);
}
public static void describePrice(IAcsClient client) throws Exception {
// 设置DescribePrice参数,并向DescribePrice发送请求。
DescribePriceRequest request = new DescribePriceRequest();
request.setRegionId(regionId);
request.setResourceType(resourceType);
request.setInstanceType(instanceType);
request.setInstanceNetworkType(instanceNetworkType);
request.putQueryParameter("spotStrategy",spotStrategy);
request.putQueryParameter("spotDuration",spotDuration);
request.putQueryParameter("zoneId",zoneId);
// 接收调用的返回结果,并输出查询到的抢占式实例当前最新价格。
DescribePriceResponse describePriceResponse = client.getAcsResponse(request);
System.out.println("抢占式实例价格:"+describePriceResponse.getPriceInfo().getPrice().getTradePrice()+"元");
}
private static IAcsClient Initialization() {
//请确保代码运行环境设置了环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
// 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例使用环境变量获取AccessKey的方式进行调用,建议使用更安全的STS方式。
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
return new DefaultAcsClient(profile);
}
}
查询结果的返回示例,如下图所示:
腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/151664.html