You need to enable JavaScript to run this app.
导航
V2.0 SDK 介绍与迁移说明
最近更新时间:2025.10.30 14:41:35首次发布时间:2025.10.22 14:07:07
复制全文
我的收藏
有用
有用
无用
无用

V2.0 SDK 是火山引擎新一代的 SDK,具有统一的 SDK 架构和更规范的 API 设计,便于维护和使用。云手机计划将 OpenAPI 逐步迁移至 V2.0 SDK。在迁移期间,您需要同时使用两个版本的 SDK。迁移建议如下:

  1. 逐步迁移:先迁移 V2.0 支持的 OpenAPI,其余 OpenAPI 继续使用 V1.0。
  2. 版本检查:定期检查 V2.0 新增支持的 OpenAPI。
  3. 完全迁移:当所有需要的 OpenAPI 都在 V2.0 中得到支持后,再移除 V1.0 依赖。

本文为您介绍 V2.0 SDK 当前支持的 OpenAPI 列表,并提供接口调用示例,帮助您使用新版 SDK。

V2.0 已支持的 OpenAPI

目前 V2.0 SDK 支持以下云手机 OpenAPI:

功能模块

OpenAPI

实例管理

实例属性管理

网络配置与管理

应用管理

机房管理

V2.0 源码地址

编程语言

源码地址

集成文档

Java

Java SDK 源码

集成 SDK

Go

Go SDK 源码

集成 SDK

Python

Python SDK 源码

集成 SDK

PHP

PHP SDK 源码

集成 SDK

V2.0 接口调用示例

本章节以 查询实例列表 ListPod 接口为例,分别提供 Java、Go、Python 以及 PHP 的调用示例。

Java

添加 pom 依赖。

<!-- https://mvnrepository.com/artifact/com.volcengine/volcengine-java-sdk-acep -->
<dependency>
    <groupId>com.volcengine</groupId>
    <artifactId>volcengine-java-sdk-acep</artifactId>
    <version>0.2.40</version>
</dependency>

<dependency>
    <groupId>com.volcengine</groupId>
    <artifactId>volcengine-java-sdk-core</artifactId>
    <version>0.2.40</version>
</dependency>

调用 ListPod 接口。

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

        ApiClient apiClient = new ApiClient()
                .setCredentials(Credentials.getCredentials(ak, sk))
                .setRegion(region);

        AcepApi api = new AcepApi(apiClient);

        ListPodRequest listPodRequest = new ListPodRequest();
        // 业务 ID
        listPodRequest.setProductId("xxxx");

        try {
            ListPodResponse resp = api.listPod(listPodRequest);
            System.out.println(resp);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

Go

安装 SDK。

go get github.com/volcengine/volcengine-go-sdk@latest

调用 ListPod 接口。

import (
    "os"
    "sync"
    "testing"
    "github.com/volcengine/volcengine-go-sdk/service/acep"
    "github.com/volcengine/volcengine-go-sdk/volcengine"
    "github.com/volcengine/volcengine-go-sdk/volcengine/custom"
    "github.com/volcengine/volcengine-go-sdk/volcengine/session"
)

var (
    cli  *acep.ACEP
    once sync.Once
)

func getSess() *session.Session {
    var (
       akStr  string
       skStr  string
       region string
       config *volcengine.Config
       sess   *session.Session
       err error
    )
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    akStr = os.Getenv("VOLC_ACCESSKEY")
    skStr = os.Getenv("VOLC_SECRETKEY")
    region = "cn-north-1"
    config = volcengine.NewConfig().
       WithAkSk(akStr, skStr).
       WithRegion(region)

    sess, err = session.NewSession(config)
    if err != nil {
       panic(err)
    }
    return sess
}

func GetACEPClient() *acep.ACEP {
    once.Do(func() {
       cfg := volcengine.NewConfig()
       sess := getSess()
       cli = acep.New(sess, cfg)
    })
    return cli
}

func TestListPod(t *testing.T) {
    req := &acep.ListPodInput{
       // 业务 ID
       ProductId: volcengine.String("test"),
    }

    resp, err := GetACEPClient().ListPod(req)
    if err != nil {
       t.Error(err)
    }
    t.Logf("%+v", resp)
}

Python

安装 SDK。

pip install volcengine-python-sdk

调用 ListPod 接口。

import os
import volcenginesdkcore
from volcenginesdkcore.rest import ApiException
import volcenginesdkacep

if __name__ == '__main__':
    # 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    # 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ak = os.environ.get("VOLC_ACCESSKEY")
    sk = os.environ.get("VOLC_SECRETKEY")
    configuration = volcenginesdkcore.Configuration()
    configuration.ak = ak
    configuration.sk = sk
    configuration.region = "cn-north-1"
    volcenginesdkcore.Configuration.set_default(configuration)
    
    api_instance = volcenginesdkacep.ACEPApi()
    try:
        resp = api_instance.list_pod(body=volcenginesdkacep.ListPodRequest(
            # 业务 ID
            product_id="xxx",
        ))

        print(resp)
    except ApiException as e:
        print("Exception when calling VOD20250101Api->start_execution: %s\n" % e)

PHP

通过 Composer 安装 SDK,需要将以下内容添加至 composer.json 文件。

{
  "require": {
    "volcengine/volcengine-php-sdk": "v1.0.81"
  }
}

调用 ListPod 接口。

<?php
require(__DIR__ . '/vendor/autoload.php');

$ak = getenv("VOLC_ACCESSKEY");
$sk = getenv("VOLC_SECRETKEY");

$config = \Volcengine\Common\Configuration::getDefaultConfiguration()
    // 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK) 和 Secret Access Key (SK)。
    // SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
    // 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
    ->setAk($ak)
    ->setSk($sk)
    ->setRegion("cn-north-1");
$apiInstance = new \Volcengine\Acep\Api\ACEPApi(
/*
 * If you want to use a custom HTTP client, pass your client which implements `GuzzleHttp\ClientInterface`.
 * This is optional; `GuzzleHttp\Client` will be used as default.
 */
    new GuzzleHttp\Client(),
    $config
);

$body = new \Volcengine\acep\Model\ListPodRequest();

// 业务 ID
$body->setProductId("xxxx");

try {
    $result = $apiInstance->listPod($body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling ACEP20250501Api->startExecution: ', $e->getMessage(), PHP_EOL;
}

?>