You need to enable JavaScript to run this app.
导航
任务管理
最近更新时间:2024.10.29 19:42:44首次发布时间:2024.09.26 21:12:55
复制全文
我的收藏
有用
有用
无用
无用

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

说明

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

调用说明

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

前提条件

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

调用示例

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

查询任务详情 GetTaskInfo

您可以调用 GetTaskInfo 接口查询任务详情 GetTaskInfo。详细的参数说明可参见 GetTaskInfo 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

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

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &ACEP.GetTaskInfoQuery{
		// 业务 ID,查询指定任务的执行结果详细信息。
		ProductID: `15914953669544xxxxxx`,
		// 任务 ID,在任务创建后返回。
		TaskID: `7294157141458xxxxxx`,
	}

	resp, err := service.GetTaskInfo(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

查询任务列表信息 ListTask

您可以调用 ListTask 接口查询任务列表信息 ListTask。详细的参数说明可参见 ListTask 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func StringPtr(v string) *string {
	return &v
}

func Int64Ptr(v int64) *int64 {
	return &v
}

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

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &ACEP.ListTaskQuery{
		// 筛选条件,业务ID,可在「云手机控制台-业务管理-业务详情」中获取。
		ProductID: `15914953669544xxxxxx`,
		// 筛选条件,任务 ID,在任务创建后返回。
		TaskID: StringPtr(`7294157141458xxxxxx`),
		// 筛选条件,任务类型,一般为创建任务接口的 Action,如:
		// <li> 创建实例并部署应用:CreatePodOneStep </li>
		// <li> 实例重置:ResetPod </li>
		// <li> 实例数据迁移:PodDataTransfer </li>
		// <li> 清理用户数据:PodDataDelete </li>
		// <li> 应用上传:UploadApp </li>
		// <li> 应用安装:InstallApp </li>
		// <li> 启动应用:LaunchApp </li>
		// <li> 关闭应用:CloseApp </li>
		// <li> 应用卸载:UninstallApp </li>
		// <li> 推送文件:PushFile </li>
		// <li> 下载文件:PullFile </li>
		// <li> 开始指令同步:StartPodEventSync </li>
		// <li> 更新指令同步:UpdatePodEventSync </li>
		TaskAction: StringPtr(`InstallApp`),
		// 筛选条件,任务状态;任务进度,0~100,100 为任务完成。
		TaskResult: Int64Ptr(100),
		// 筛选条件,分页参数,偏移量。
		Offset: Int64Ptr(0),
		// 筛选条件,分页参数,查询数量。
		Count: Int64Ptr(10),
	}

	resp, err := service.ListTask(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}