查询华为云用户名下虚拟私有云vpc列表
引导式阅读
Java
查询华为云用户名下虚拟私有云vpc列表
作者
Codelabs助理
上架时间
2023-11-20 06:10:50

前提条件

获取AK/SK

开发者在使用前需先获取账号的ak、sk、endpoint、projectId。

您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AK/SK。更多信息请查看访问密钥

  • endpoint 华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点

  • projectId 云服务所在项目 ID ,根据你想操作的项目所属区域选择对应的项目 ID 。

运行环境

Java JDK 1.8 及其以上版本。

SDK 获取和安装

您可以通过如下方式获取和安装 SDK:

  • 通过 Maven 安装依赖(推荐)

    通过 Maven 安装项目依赖是使用 Java SDK 的推荐方法,首先您需要在您的操作系统中下载安装 Maven ,安装完成后您只需在 Java 项目的 pom.xml 文件加入相应的依赖项即可。以使用ECS SDK为例:

    <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-core</artifactId> <version>[3.0.1-beta, 3.1.0-beta)</version> </dependency> <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-vpc</artifactId> <version>[3.0.1-beta, 3.1.0-beta)</version> </dependency>

示例代码

使用如下代码同步查询特定 Region 下的 VPC 清单,调用前请根据实际情况替换如下变量: {your ak string}{your sk string}{your endpoint string} 以及 {your project id}

// 用户身份认证 import com.huaweicloud.sdk.core.auth.BasicCredentials; // 请求异常类 import com.huaweicloud.sdk.core.exception.ClientRequestException; import com.huaweicloud.sdk.core.exception.ServerResponseException; // Http配置 import com.huaweicloud.sdk.core.http.HttpConfig; // 导入相应产品的 {Service}Client import com.huaweicloud.sdk.vpc.v2.VpcClient; // 导入待请求接口的 request 和 response 类 import com.huaweicloud.sdk.vpc.v2.model.ListVpcsRequest; import com.huaweicloud.sdk.vpc.v2.model.ListVpcsResponse; // 日志打印 import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Application { private static final Logger logger = LoggerFactory.getLogger(Application.class); public static void listVpcs(VpcClient client) { try { // 实例化ListVpcsRequest请求对象,调用listVpcs接口 ListVpcsResponse listVpcsResponse = client.listVpcs(new ListVpcsRequest().withLimit(1)); // 输出json格式的字符串响应 logger.info(listVpcsResponse.toString()); //System.out.println(listVpcsResponse.toString()); } catch (ClientRequestException e) { logger.error("HttpStatusCode: " + e.getHttpStatusCode()); logger.error("RequestId: " + e.getRequestId()); logger.error("ErrorCode: " + e.getErrorCode()); logger.error("ErrorMsg: " + e.getErrorMsg()); } } public static void main(String[] args) { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); String endpoint = "{your endpoint string}"; String projectId = "{your project id}"; // 配置客户端属性 HttpConfig config = HttpConfig.getDefaultHttpConfig(); config.withIgnoreSSLVerification(true); // 创建认证 BasicCredentials auth = new BasicCredentials() .withAk(ak) .withSk(sk) .withProjectId(projectId); // 创建VpcClient实例并初始化 VpcClient vpcClient = VpcClient.newBuilder() .withHttpConfig(config) .withCredential(auth) .withEndpoint(endpoint) .build(); listVpcs(vpcClient); } }

运行示例

根据实际情况替换如下变量: {your ak string}{your sk string}{your endpoint string} 以及 {your project id}

运行结果

输出结果:

class ListVpcsResponse { vpcs: [class Vpc { id: 066433a3-9c11-4e70-8793-bb054ec5821c name: coachproject_2vpc-a156 cidr: 192.168.0.0/16 description: routes: [] status: OK enterpriseProjectId: 0 }] }