You need to enable JavaScript to run this app.
导航
镜像管理
最近更新时间:2024.10.29 19:42:43首次发布时间:2024.08.23 11:16:35
复制全文
我的收藏
有用
有用
无用
无用

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

说明

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

调用说明

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

前提条件

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

调用示例

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

查询镜像信息 ListImage

您可以调用 ListImage 接口查询镜像信息 ListImage。详细的参数说明可参见 ListImage 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

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

public class ListImageDemo {

  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"));

    ListImageQuery query = new ListImageQuery();

    // 火山引擎账号 ID。
    query.setAccountId("21000xxxx");
    // 镜像 ID。可以指定单个需要查询的镜像。
    query.setImageId("img-xxxxx1");
    // 镜像 ID 列表,可以指定多个需要查询的镜像,以英文逗号","分割。
    query.setImageIdList("img-xxxxx2,img-xxxxx3");
    // 镜像名称
    query.setImageName("image-1459450162840xxxxxx");
    // 镜像版本,包含以下取值:
    // <li> 10:AOSP 10; </li>
    // <li> 11:AOSP 11。 </li>
    query.setAospVersion("10");
    // 是否查找公共镜像,包含以下取值:
    // <li> true:查找公共镜像; </li>
    // <li> false:(默认值)用户自定义镜像。 </li>
    query.setIsPublic(false);
    // 镜像状态,包含以下取值:
    // <li> 0:未知; </li>
    // <li> 1:导入中,待构建; </li>
    // <li> 2:构建中; </li>
    // <li> 11:构建完成; </li>
    // <li> -1:构建失败。 </li>
    query.setImageStatus(11);
    // 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 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);
    // 是否查询未发布的公共镜像,包含以下取值:
    // <li> true:是,此时需要提供准确的 ImageId; </li>
    // <li> false:(默认值)否,只查询已发布的公共镜像 </li>
    query.setExpandScope(false);
    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    query.setProductId("1591495366954xxxxxx");

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

查询镜像分布 ListImageResource

您可以调用 ListImageResource 接口查询镜像分布 ListImageResource。详细的参数说明可参见 ListImageResource 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

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

public class ListImageResourceDemo {

  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"));

    ListImageResourceQuery query = new ListImageResourceQuery();

    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取
    query.setProductId("1749281594201xxxxxx");
    // 指定需要查询的镜像 ID 列表。多个镜像 ID 使用英文 "," 分隔。
    // 该参数置空时,系统将默认返回业务下所有镜像 ID 的分布情况。
    query.setImageIdList("img-xxxxx1,img-xxxxx2");
    // 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 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 {
      ListImageResourceRes resp = service.listImageResource(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询镜像预热信息 GetImagePreheating

您可以调用 GetImagePreheating 接口查询镜像预热信息 GetImagePreheating。详细的参数说明可参见 GetImagePreheating 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

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

public class GetImagePreheatingDemo {

  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"));

    GetImagePreheatingQuery query = new GetImagePreheatingQuery();

    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取
    query.setProductId("1749281594201xxxxxx");
    // 指定需要查询的镜像 ID 列表。多个镜像 ID 使用英文 "," 分隔。列表最大长度为 100。
    query.setImageIdList("img-xxxxx1,img-xxxxx2");
    // 机房 ID。用于指定希望查询的镜像所在的特定机房。若该参数置空,系统将默认返回所有机房中的指定镜像的预热数据。
    query.setDcId("gdsz-ctcucm-01-xxxxx");

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

镜像内置应用 CreateImageOneStep

您可以调用 CreateImageOneStep 接口镜像内置应用 CreateImageOneStep。详细的参数说明可参见 CreateImageOneStep 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

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

public class CreateImageOneStepDemo {

  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"));

    CreateImageOneStepBody body = new CreateImageOneStepBody();

    // 云手机业务ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1591495366954xxxxxx");
    // 镜像 ID,作为构建自定义镜像的基线或基准镜像。
    body.setImageId("test_image");
    // 镜像名称,由用户自定义,用于业务标识。
    // 支持英文、中文字符、数字和下划线,需以英文或中文开头,长度不超过 128 个字符。
    // 如不指定,则使用默认名称,格式为 “公共镜像 ID+AOSP 镜像版本+账号 ID+自定义镜像”。
    body.setImageName("测试镜像");
    // 镜像描述信息,由用户按需添加镜像备注说明,便于业务识别。
    body.setImageAnnotation("测试镜像");
    // 需要内置的应用或文件的下载地址;内置的文件需按照固定格式提供整体压缩包文件,文件名需为 file.zip。详请参考[预置应用或文件上传说明](https://www.volcengine.com/docs/6394/1181814#%E9%A2%84%E7%BD%AE%E5%BA%94%E7%94%A8%E6%88%96%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E8%AF%B4%E6%98%8E)。
    body.setFileUrl("http://file.bytetos.com/cloudphone/file.zip");

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