云专线服务托管专线基本操作
引导式阅读
Java
云专线服务托管专线基本操作
作者
c***r
上架时间
2023-11-16 09:19:44

版本说明

本示例配套的SDK版本为:3.1.11及以上版本

示例简介

本示例展示如何使用云专线(DirectConnection)相关SDK

功能介绍

云专线托管专线增、删、改、查功能

前置条件

1.已 注册 华为云,并完成 实名认证

2.获取华为云开发工具包(SDK),您也可以查看安装JAVA SDK。

3.已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥

4.已具备开发环境 ,支持Java JDK 1.8及其以上版本。

5.用户已开通托管专线创建权限。

SDK获取和安装

您可以通过Maven配置所依赖的云专线服务SDK

具体的SDK版本号请参见 SDK开发中心 (产品类别:云专线)

代码示例

以下代码展示如何使用云专线(DirectConnection)相关SDK

import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ClientRequestException; import com.huaweicloud.sdk.core.exception.ServerResponseException; import com.huaweicloud.sdk.dc.v3.DcClient; import com.huaweicloud.sdk.dc.v3.model.CreateHostedDirectConnect; import com.huaweicloud.sdk.dc.v3.model.CreateHostedDirectConnectRequest; import com.huaweicloud.sdk.dc.v3.model.CreateHostedDirectConnectRequestBody; import com.huaweicloud.sdk.dc.v3.model.CreateHostedDirectConnectResponse; import com.huaweicloud.sdk.dc.v3.model.DeleteHostedDirectConnectRequest; import com.huaweicloud.sdk.dc.v3.model.DeleteHostedDirectConnectResponse; import com.huaweicloud.sdk.dc.v3.model.ListHostedDirectConnectsRequest; import com.huaweicloud.sdk.dc.v3.model.ListHostedDirectConnectsResponse; import com.huaweicloud.sdk.dc.v3.model.ShowHostedDirectConnectRequest; import com.huaweicloud.sdk.dc.v3.model.ShowHostedDirectConnectResponse; import com.huaweicloud.sdk.dc.v3.model.UpdateHostedDirectConnect; import com.huaweicloud.sdk.dc.v3.model.UpdateHostedDirectConnectRequest; import com.huaweicloud.sdk.dc.v3.model.UpdateHostedDirectConnectRequestBody; import com.huaweicloud.sdk.dc.v3.model.UpdateHostedDirectConnectResponse; import com.huaweicloud.sdk.dc.v3.region.DcRegion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Arrays; public class HostedDirectConnectionDemo { private static final Logger logger = LoggerFactory.getLogger(HostedDirectConnectionDemo.class); // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份认证为例,运行示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 private static final String AK = System.getenv("HUAWEICLOUD_SDK_AK"); private static final String SK = System.getenv("HUAWEICLOUD_SDK_SK"); private static final String PROJECT_ID = "<your project id>"; private static DcClient client = getDcClient(); /* 获取DC请求客户端 */ public static DcClient getDcClient() { return DcClient.newBuilder() .withCredential(new BasicCredentials() .withAk(AK) .withSk(SK) .withProjectId(PROJECT_ID) ).withRegion(DcRegion.CN_NORTH_4) .build(); } public static void main(String[] args) { // 1,创建托管专线 CreateHostedDirectConnectResponse response = createHostedDirectConnect(); // 2,查询托管专线详情 showHostedDirectConnect(response.getHostedConnect().getId()); // 3,修改托管专线 updateHostedDirectConnection(response.getHostedConnect().getId()); // 4,查询托管专线列表 listHostedDirectConnections(response.getHostedConnect().getId()); // 5,删除托管专线 deleteHostedDirectConnection(response.getHostedConnect().getId()); } private static CreateHostedDirectConnectResponse createHostedDirectConnect() { CreateHostedDirectConnect createHostedDirectConnect = new CreateHostedDirectConnect() .withName("<your hosted-direct-connection name>") .withHostingId("<your hostingId>") .withDescription("<your hosted-direct-connection description>") .withBandwidth(10) .withVlan(10) .withResourceTenantId("<your resource project id>") .withPeerLocation("<your peer location>"); CreateHostedDirectConnectRequest request = new CreateHostedDirectConnectRequest() .withBody(new CreateHostedDirectConnectRequestBody().withHostedConnect(createHostedDirectConnect)); CreateHostedDirectConnectResponse response = null; try { response = client.createHostedDirectConnect(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.getMessage()); } return response; } private static void showHostedDirectConnect(String hostedDirectConnectId) { ShowHostedDirectConnectRequest request = new ShowHostedDirectConnectRequest().withHostedConnectId(hostedDirectConnectId); try { ShowHostedDirectConnectResponse response = client.showHostedDirectConnect(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.getMessage()); } } private static void updateHostedDirectConnection(String hostedDirectConnectId) { UpdateHostedDirectConnectRequest request = new UpdateHostedDirectConnectRequest() .withHostedConnectId(hostedDirectConnectId) .withBody(new UpdateHostedDirectConnectRequestBody().withHostedConnect(new UpdateHostedDirectConnect() .withName("<your new hosted-direct-connection name>") .withDescription("<your new hosted-direct-connection description>"))); try { UpdateHostedDirectConnectResponse response = client.updateHostedDirectConnect(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.getMessage()); } } private static void listHostedDirectConnections(String hostedDirectConnectId) { ListHostedDirectConnectsRequest request = new ListHostedDirectConnectsRequest().withHostingId(Arrays.asList(hostedDirectConnectId)); try { ListHostedDirectConnectsResponse response = client.listHostedDirectConnects(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.getMessage()); } } private static void deleteHostedDirectConnection(String hostedDirectConnectId) { DeleteHostedDirectConnectRequest request = new DeleteHostedDirectConnectRequest().withHostedConnectId(hostedDirectConnectId); try { DeleteHostedDirectConnectResponse response = client.deleteHostedDirectConnect(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.getMessage()); } } }

您可以在 云专线DC服务文档API Explorer 查看具体信息。

修订记录

发布日期 文档版本 修订说明
2022/12/12 1.0 文档首次发布