# huaweicloud-associate-instance-java **Repository Path**: HuaweiCloudDeveloper/huaweicloud-associate-instance-java ## Basic Information - **Project Name**: huaweicloud-associate-instance-java - **Description**: 新增v3绑定弹性公网IP高频接口示例 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-26 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1、功能介绍 华为云提供了弹性公网IP服务端SDK,您可以直接集成服务端SDK来调用弹性公网IP的相关API,从而实现对弹性公网IP的快速操作。该示例展示了如何通过Java版SDK绑定弹性公网IP。绑定弹性公网IP参考文档请参见[绑定弹性公网IP](https://support.huaweicloud.com/api-eip/AssociatePublicips.html)。 ## 2、前置条件 - 已 [注册](https://id1.cloud.huawei.com/UnifiedIDMPortal/portal/userRegister/regbyphone.html?themeName=red&access_type=offline&clientID=103493351&loginChannel=88000000&loginUrl=https%3A%2F%2Fauth.huaweicloud.com%2Fauthui%2Flogin.html%23&service=https%3A%2F%2Fauth.huaweicloud.com%2Fauthui%2FcasLogin&countryCode=cn&scope=https%3A%2F%2Fwww.huawei.com%2Fauth%2Faccount%2Funified.profile+https%3A%2F%2Fwww.huawei.com%2Fauth%2Faccount%2Frisk.idstate&reqClientType=88&state=cf496c0cb6c7414894276bebbfe1068c&lang=zh-cn) 华为云, 并完成 [实名认证](https://account.huaweicloud.com/usercenter/?region=cn-north-4#/accountindex/realNameAuth) - 已获取华为云开发工具包(SDK),您也可以查看安装JAVA SDK。 - 已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 [访问密钥](https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html) 。 - 已具备开发环境 ,支持Java JDK 1.8及其以上版本。 - 已购买EIP和需要绑定的实例,实例可以为ECS、NAT网关、VPN、ELB负载均衡器。 ## 3、SDK获取和安装 具体的SDK版本号请参见 [SDK开发中心](https://sdkcenter.developer.huaweicloud.com/?language=go) (产品类别:弹性公网IP) ## 4、关键代码片段 使用如下代码绑定弹性公网IP,调用前请根据实际情况替换如下变量:{YOUR AK},{YOUR SK},{REGION_ID},{PUBLICIP ID},{INSTANCE ID},{INSTANCE TYPE}。 ```java package com.huawei; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.eip.v3.EipClient; import com.huaweicloud.sdk.eip.v3.model.AssociatePublicipsOption; import com.huaweicloud.sdk.eip.v3.model.AssociatePublicipsRequest; import com.huaweicloud.sdk.eip.v3.model.AssociatePublicipsRequestBody; import com.huaweicloud.sdk.eip.v3.model.AssociatePublicipsResponse; import com.huaweicloud.sdk.eip.v3.region.EipRegion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @description 调用前请根据实际情况替换如下变量: * {YOUR AK},{YOUR SK},{REGION_ID},{PUBLICIP ID},{INSTANCE ID} * 绑定实例类型目前支持:PORT、NATGW、VPN、ELB,枚举类型为:AssociateInstanceTypeEnum */ public class AssociateInstanceDemo { private static final Logger logger = LoggerFactory.getLogger(AssociateInstanceDemo.class); public static void main(String[] args) { // 输入华为云账号的AK、SK String ak = "{YOUR AK}"; String sk = "{YOUR SK}"; ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); // v3接口的EipClient,REGION_ID处填写应用区域的id,如北京四填写cn-north-4 EipClient client = EipClient.newBuilder() .withCredential(auth) .withRegion(EipRegion.valueOf("{REGION_ID}")) .build(); try { // 绑定前提需要提前购买对应的实例,实例可为弹性云服务器ECS、NAT网关、VPN、弹性负载均衡器ELB AssociatePublicipsResponse response = client.associatePublicips(getRequest()); // 返回结果中associate_instance_id和associate_instance_type字段代表绑定实例的ID和类型 System.out.println(response.toString()); } catch (ConnectionException e) { logger.info(e.toString()); } catch (RequestTimeoutException e) { logger.info(e.toString()); } catch (ServiceResponseException e) { logger.info(e.toString()); System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } public static AssociatePublicipsRequest getRequest() { AssociatePublicipsRequest request = new AssociatePublicipsRequest(); // 已购买EIP的ID,如何购买EIP请参考EIP帮助文档中申请EIP(按需计费)和申请EIP(包年/包月)章节 request.withPublicipId("{PUBLICIP ID}"); AssociatePublicipsRequestBody requestBody = new AssociatePublicipsRequestBody(); // 构造请求体,INSTANCE ID为实例的ID,INSTANCE TYPE为实例的类型 AssociatePublicipsOption publicipBody = new AssociatePublicipsOption(); publicipBody.withAssociateInstanceId("{INSTANCE ID}"); publicipBody.withAssociateInstanceType("{INSTANCE TYPE}"); requestBody.withPublicip(publicipBody); request.withBody(requestBody); return request; } } ``` 您可以在 [API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=EIP&api=AssociatePublicips&version=v3) 中直接运行调试该接口。 ## 5、运行结果 响应成功示例 ```json { "request_id": "7a8fd564940586b4b06c2534953be9a3", "publicip": { "created_at": "2023-07-29T07:19:54Z", "updated_at": "2023-07-29T07:35:55Z", "lock_status": null, "id": "94cfaacd-2471-417f-bbba-fa15213a3567", "alias": null, "project_id": "88060fecd26f41019cb32016bc3d2d94", "ip_version": 4, "public_ip_address": "100.95.156.127", "public_ipv6_address": null, "status": "ACTIVE", "description": "", "enterprise_project_id": "0", "billing_info": null, "type": "EIP", "vnic": { "private_ip_address": "192.168.0.103", "device_id": "fcee1baa-bc1b-4e60-95e2-5ee3922db22d", "device_owner": "compute:cn-north-7a", "vpc_id": "2a5f697f-180a-4435-9573-81160feee814", "port_id": "b820583f-ebf3-49f2-957e-e53bbb8ad2d1", "mac": "fa:16:3e:bc:14:7b", "vtep": "10.63.76.16", "vni": "430546", "instance_id": "", "instance_type": "", "port_profile": "" }, "bandwidth": { "id": "43fd06dd-3da8-41b9-bed5-ff7f430f80f3", "size": 1, "share_type": "PER", "charge_mode": "traffic", "name": "ecs-c197-bandwidth-3a92", "billing_info": "" }, "associate_instance_type": "PORT", "associate_instance_id": "b820583f-ebf3-49f2-957e-e53bbb8ad2d1", "publicip_pool_id": "8a425166-82ac-4163-94d5-e6913579e7e7", "publicip_pool_name": "5_g-vm", "public_border_group": "center" } } ``` ## 6、参考 - EIP产品介绍 - [图解弹性公网IP](https://support.huaweicloud.com/productdesc-eip/eip_pro_0001.html) - API参考 - EIP帮助文档 [申请EIP(包年/包月)](https://support.huaweicloud.com/api-eip/eip_api_0006.html) - EIP帮助文档 [申请EIP(按需计费)](https://support.huaweicloud.com/api-eip/eip_api_0001.html) - EIP帮助文档 [绑定弹性公网IP](https://support.huaweicloud.com/api-eip/AssociatePublicips.html) ## 7、修订记录 | 发布日期 | 文档版本 | 修订说明 | |------------|------ |-------- | | 2023-08-10 | 1.0 | 文档首次发布 |