本文介绍了如何通过阿里云ECS Java SDK调用DescribeInstances根据条件查询ECS实例。
前提条件
您已创建了至少一台ECS实例。具体操作,请参见批量创建ECS实例。
请确保代码运行环境设置了环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。具体配置方法,请参见在Linux、macOS和Windows系统配置环境变量。
代码示例
查询杭州地域下公网带宽采用按流量计费、实例计费方式采用按量付费、网络类型采用专有网络VPC的ECS实例 :
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;
import com.aliyun.tea.*;
import com.aliyun.darabonba.env.EnvClient;
public class Sample {
/**
main.dara 使用AK&SK初始化账号Client
main.dara @param accessKeyId
main.dara @param accessKeySecret
main.dara @return Client
main.dara @throws Exception
*/
public static com.aliyun.ecs20140526.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// 必填,您的 AccessKey ID
.setAccessKeyId(accessKeyId)
// 必填,您的 AccessKey Secret
.setAccessKeySecret(accessKeySecret);
// 访问的域名
config.endpoint = "ecs-cn-hangzhou.aliyuncs.com";
return new com.aliyun.ecs20140526.Client(config);
}
/**
* 使用STS鉴权方式初始化账号Client,推荐此方式。
* @param accessKeyId
* @param accessKeySecret
* @param securityToken
* @return Client
* @throws Exception
*/
public static com.aliyun.ecs20140526.Client createClientWithSTS(String accessKeyId, String accessKeySecret, String securityToken) throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// 必填,您的 AccessKey ID
.setAccessKeyId(accessKeyId)
// 必填,您的 AccessKey Secret
.setAccessKeySecret(accessKeySecret)
// 必填,您的 Security Token
.setSecurityToken(securityToken)
// 必填,表明使用 STS 方式
.setType("sts");
// 访问的域名
config.endpoint = "ecs-cn-hangzhou.aliyuncs.com";
return new com.aliyun.ecs20140526.Client(config);
}
public static void main(String[] args_) throws Exception {
java.util.List<String> args = java.util.Arrays.asList(args_);
// 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式
com.aliyun.ecs20140526.Client client = Sample.createClient(EnvClient.getEnv("ALIBABA_CLOUD_ACCESS_KEY_ID"), EnvClient.getEnv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
com.aliyun.ecs20140526.models.DescribeInstancesRequest describeInstancesRequest = new com.aliyun.ecs20140526.models.DescribeInstancesRequest()
.setRegionId("cn-hangzhou")
.setInternetChargeType("PayByTraffic")
.setInstanceChargeType("PostPaid");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
com.aliyun.ecs20140526.models.DescribeInstancesResponse resp = client.describeInstancesWithOptions(describeInstancesRequest, runtime);
com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(resp));
}
}
文档内容是否对您有帮助?