You need to enable JavaScript to run this app.
导航
端口映射管理
最近更新时间:2024.10.29 19:42:44首次发布时间:2024.10.14 20:29:01
复制全文
我的收藏
有用
有用
无用
无用

阅读本文,您可以获取 Java SDK 端口映射管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Java SDK 的安装及初始化操作。

调用示例

本节为您介绍端口映射管理相关接口的功能和调用示例。

创建端口映射规则 CreatePortMappingRule

您可以调用 CreatePortMappingRule 接口创建端口映射规则 CreatePortMappingRule。详细的参数说明可参见 CreatePortMappingRule 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class CreatePortMappingRuleDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    CreatePortMappingRuleBody body = new CreatePortMappingRuleBody();

    // 云手机业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    body.setProductId("1591495366954xxxxxx");
    // 端口映射规则 ID,需确保规则 ID 全局唯一;如不指定,由系统随机生成。
    body.setPortMappingRuleId("rule01");
    // 端口映射的协议类型,取值如下:
    // <li> tcp:(默认) TCP 协议类型。 </li>
    // <li> udp:UDP 协议类型。 </li>
    body.setProtocol("tcp");
    // 源端口号,您可根据自身业务需求,自定义配置端口号。
    body.setSourcePort(6567);
    // 方向类型。取值如下:
    // <li> Inbound:入向(默认) </li>
    // <li> Bidirectional:双向 </li>
    // warning
    // 当前在中国大陆内,该参数仅在华北/石家庄、华东/扬州、华南/广州等部分机房节点支持设置,若有涉及,请联系技术支持团队确认。
    body.setDirection("Inbound");
    // 运营商信息。取值如下:
    // <li> 1:移动(默认)。 </li>
    // <li> 2:联通。 </li>
    // <li> 4:电信。 </li>
    // <li> 7:三条运营商线路各开一个。 </li>
    // <li> 8:BGP,香港地区。当 VolcRegion 设为 cn-hongkong-pop 时生效。 </li>
    // warning
    // 当前在中国大陆内,该参数仅在华北/石家庄、华东/扬州、华南/广州等部分机房节点支持设置,若有涉及,请联系技术支持团队确认。
    body.setIsp(1);
    // 资源所在的物理区域,包含以下选项:
    // <li> inner:中国大陆(默认值) </li>
    // <li> cn-hongkong-pop:中国香港 </li>
    body.setVolcRegion("inner");

    try {
      CreatePortMappingRuleRes resp = service.createPortMappingRule(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

绑定端口映射规则 BindPortMappingRule

您可以调用 BindPortMappingRule 接口绑定端口映射规则 BindPortMappingRule。详细的参数说明可参见 BindPortMappingRule 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class BindPortMappingRuleDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    BindPortMappingRuleBody body = new BindPortMappingRuleBody();

    // 云手机业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    body.setProductId("169634752xxxxxxxxxx");

    // 实例 ID 列表。可通过调用 [ListPod](https://www.volcengine.com/docs/6394/1221468) 接口获取。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("734799243xxxxxxxxxx");
    body.setPodIdList(PodIdList);

    // 端口映射规则 ID 列表,需确保规则 ID 全局唯一;可通过调用 [CreatePortMappingRule](https://www.volcengine.com/docs/6394/1185240) 接口获取。
    List<String> PortMappingRuleIdList = new ArrayList<>();

    PortMappingRuleIdList.add("735023356xxxxxxxxxx");
    PortMappingRuleIdList.add("735023357xxxxxxxxxx");
    body.setPortMappingRuleIdList(PortMappingRuleIdList);

    try {
      BindPortMappingRuleRes resp = service.bindPortMappingRule(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

解绑端口映射规则 UnbindPortMappingRule

您可以调用 UnbindPortMappingRule 接口解绑端口映射规则 UnbindPortMappingRule。详细的参数说明可参见 UnbindPortMappingRule 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class UnbindPortMappingRuleDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    UnbindPortMappingRuleBody body = new UnbindPortMappingRuleBody();

    // 云手机业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    body.setProductId("169634752xxxxxxxxxx");

    // 实例 ID 列表。可通过调用 [ListPod](https://www.volcengine.com/docs/6394/1221468) 接口获取。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("734799243xxxxxxxxxx");
    body.setPodIdList(PodIdList);

    // 端口映射规则 ID 列表,需确保规则 ID 全局唯一;可通过调用 [CreatePortMappingRule](https://www.volcengine.com/docs/6394/1185240) 接口获取。
    List<String> PortMappingRuleIdList = new ArrayList<>();

    PortMappingRuleIdList.add("735023356xxxxxxxxxx");
    PortMappingRuleIdList.add("735023357xxxxxxxxxx");
    body.setPortMappingRuleIdList(PortMappingRuleIdList);

    try {
      UnbindPortMappingRuleRes resp = service.unbindPortMappingRule(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询端口映射详情 DetailPortMappingRule

您可以调用 DetailPortMappingRule 接口查询端口映射详情 DetailPortMappingRule。详细的参数说明可参见 DetailPortMappingRule 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class DetailPortMappingRuleDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    DetailPortMappingRuleQuery query = new DetailPortMappingRuleQuery();

    // 云手机业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    query.setProductId("1591495366954xxxxxx");
    // 端口映射规则 ID,可通过调用 ListPortMappingRule 接口获取。
    query.setPortMappingRuleId("rule01");

    try {
      DetailPortMappingRuleRes resp = service.detailPortMappingRule(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询端口映射列表 ListPortMappingRule

您可以调用 ListPortMappingRule 接口查询端口映射列表 ListPortMappingRule。详细的参数说明可参见 ListPortMappingRule 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class ListPortMappingRuleDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    ListPortMappingRuleQuery query = new ListPortMappingRuleQuery();

    // 云手机业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    query.setProductId("1724308507550xxxxxx");
    // 筛选条件,端口映射规则 ID。
    query.setPortMappingRuleId("rule01");
    // 筛选条件,端口映射的协议类型,取值如下:
    // <li> tcp:TCP 协议类型。 </li>
    // <li> udp:UDP 协议类型。 </li>
    query.setProtocol("tcp");
    // 资源所在的物理区域,包含以下选项:
    // <li> inner:中国大陆(默认值) </li>
    // <li> cn-hongkong-pop:中国香港 </li>
    query.setVolcRegion("inner");
    // 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 Offset 为 10,则表示从第 11 条记录开始。默认值为 0。
    // note:
    // 可与 Count 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
    query.setOffset((long) 0);
    // 单次查询返回的最大记录数,用于控制每次查询返回的数据量。例如,若 Count 为 100,则表示在查询数据时,系统将每次返回 100 条记录。
    // note:
    // 可与 Offset 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
    query.setCount((long) 10);

    try {
      ListPortMappingRuleRes resp = service.listPortMappingRule(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}