tencent cloud

数据万象

动态与公告
产品动态
产品公告
产品简介
产品概述
产品优势
应用场景
功能概览
地域与域名
使用限制
产品计费
计费概述
计费方式
计费项
免费额度
欠费说明
查看消费明细
常见问题
快速入门
注册与登录
绑定存储桶
上传和处理文件
下载和删除文件
解绑存储桶
通过 COS 使用数据万象
能力地图
图片处理
媒体处理
内容审核
AI 内容识别
文档处理
智能语音
文件处理
用户指南
概览
存储桶管理
智能工具箱
任务与工作流
数据监控
用量统计
实践教程
版权保护解决方案
图片处理实践
API 授权策略使用指引
工作流实践
API 文档
API 概览
结构体
公共请求头部
公共响应头部
开通万象服务
图片处理
AI 内容识别
智能语音
媒体处理
内容审核
文档处理
文件处理
任务与工作流
云查毒
错误码
请求签名
SDK 文档
SDK 概览
图片处理 Android SDK
图片处理 iOS SDK
COS Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Go SDK
COS iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
小程序 SDK
SDK 产品个人信息保护规则
安全与合规
权限管理
常见问题
基础设置
文档处理
媒体处理
内容识别
智能语音
服务协议
Service Level Agreement
联系我们
词汇表

快速入门

PDF
聚焦模式
字号
最后更新时间: 2025-11-20 09:49:51

简介

数据万象的媒体处理及文档预览接口集成至对象存储服务 XML Java SDK。

下载与安装

相关资源

对象存储服务的 XML Java SDK 源码下载地址:XML Java SDK
SDK 快速下载地址:XML Java SDK
示例 Demo 下载地址:COS XML Java SDK 示例
SDK 文档中的所有示例代码请参见 SDK 代码示例

环境依赖

SDK 支持 JDK 1.8及以上版本。
JDK 安装方式请参见 Java 安装与配置
说明
关于文章中出现的 SecretId、SecretKey、Bucket 等名称的含义和获取方式请参见 COS 术语信息
COS Java SDK 中的常见类所在包分别为:
客户端配置相关类在包 com.qcloud.cos.* 下。
权限相关类在 com.qcloud.cos.auth.* 子包下。
异常相关类在 com.qcloud.cos.exception.* 子包下。
请求相关类在 com.qcloud.cos.model.* 子包下。
地域相关类在 com.qcloud.cos.region.* 子包下。
高级 API 接口在 com.qcloud.cos.transfer.* 子包下。

安装 SDK

用户可以通过 maven 和源码两种方式安装 Java SDK:
maven 安装 在 maven 工程的 pom.xml 文件中添加相关依赖,内容如下:
<dependency>
<groupId>com.qcloud</groupId>
<artifactId>cos_api</artifactId>
<version>5.6.133</version>
</dependency>
说明
依赖坐标可能并非最新版本,请 单击此处 获取最新版本。
源码安装 从 Github XML Java SDK快速下载地址 下载源码,通过 maven 导入。例如 eclipse,依次选择 File > Import > maven > Existing Maven Projects

卸载 SDK

通过删除 pom 依赖或源码即可卸载 SDK。

开始使用

下面为您介绍如何使用 Java SDK 完成一个基础操作,例如初始化客户端、创建存储桶、查询存储桶列表、上传对象、查询对象列表、下载对象和删除对象。数据万象的媒体处理接口集成至对象存储服务 XML Java SDK,您可完成 模板操作、任务操作、工作流操作、队列操作 等相关操作。

导入类名

COS Java SDK 的包名为com.qcloud.cos.*,您可以通过 Eclipse 或者 Intellij 等 IDE 工具,导入程序运行所需要的类。

初始化客户端

在执行任何和 COS 服务相关请求之前,都需要先生成 COSClient 类的对象, COSClient 是调用 COS API 接口的对象。
注意
COSClient 是线程安全的类,允许多线程访问同一实例。因为实例内部维持了一个连接池,创建多个实例可能导致程序资源耗尽,请确保程序生命周期内实例只有一个,并在不再需要使用时,调用 shutdown 方法将其关闭。如果需要新建实例,请先将之前的实例关闭。
若您使用永久密钥初始化 COSClient,可以先在访问管理控制台中的 API 密钥管理 页面获取 SecretId、SecretKey,使用永久密钥适用于大部分的应用场景,参考示例如下:
// 1 初始化用户身份信息(secretId, secretKey)。
String secretId = "COS_SECRETID";
String secretKey = "COS_SECRETKEY";
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
// 2 设置 bucket 的区域, COS 地域的简称请参照 https://www.tencentcloud.com/document/product/436/6224
// clientConfig 中包含了设置 region, https(默认 http), 超时, 代理等 set 方法, 使用可参见源码或者常见问题 Java SDK 部分。
Region region = new Region("COS_REGION");
ClientConfig clientConfig = new ClientConfig(region);
// 3 生成 cos 客户端。
COSClient cosClient = new COSClient(cred, clientConfig);
您也可以使用临时密钥初始化 COSClient,临时密钥生成和使用可参见 临时密钥生成及使用指引,参考示例如下:
// 1 传入获取到的临时密钥 (tmpSecretId, tmpSecretKey, sessionToken)
String tmpSecretId = "COS_SECRETID";
String tmpSecretKey = "COS_SECRETKEY";
String sessionToken = "COS_TOKEN";
BasicSessionCredentials cred = new BasicSessionCredentials(tmpSecretId, tmpSecretKey, sessionToken);
// 2 设置 bucket 的区域, COS 地域的简称请参阅 https://www.tencentcloud.com/document/product/436/6224
// clientConfig 中包含了设置 region, https(默认 http), 超时, 代理等 set 方法, 使用可参阅源码或者常见问题 Java SDK 部分
Region region = new Region("COS_REGION");
ClientConfig clientConfig = new ClientConfig(region);
// 3 生成 cos 客户端
COSClient cosClient = new COSClient(cred, clientConfig);
ClientConfig 类为配置信息类,主要的成员如下:
成员名
设置方法
描述
类型
region
构造函数或 set 方法
存储桶所在的区域,COS 地域的简称请参见 地域和访问域名 文档
Region
httpProtocol
set 方法
请求所使用的协议,默认使用 HTTP 协议与 COS 交互
HttpProtocol
signExpired
set 方法
请求签名的有效时间,单位:秒,默认为3600s
int
connectionTimeout
set 方法
连接 COS 服务的超时时间,单位:毫秒,默认为30000ms
int
socketTimeout
set 方法
客户端读取数据的超时时间,单位:毫秒,默认为30000ms
int
httpProxyIp
set 方法
代理服务器的 IP
String
httpProxyPort
set 方法
代理服务器的端口
int

查询开通媒体处理功能的桶列表

查询当前账号下已经开通媒体处理功能的桶列表。

请求示例

//1.创建模板请求对象
MediaBucketRequest request = new MediaBucketRequest();
//2.添加请求参数 参数详情请见 API 接口文档
request.setBucketName("examplebucket-1250000000");
//3.调用接口,获取桶响应对象
MediaBucketResponse response = client.describeMediaBuckets(request);

创建任务

创建一个媒体处理任务。

请求示例

//1.创建任务请求对象
MediaJobsRequest request = new MediaJobsRequest();
//2.添加请求参数 参数详情请见 API 接口文档
request.setBucketName("examplebucket-1250000000");
request.setTag("Transcode");
request.getInput().setObject("1.mp4");
request.getOperation().setTemplateId("t0e09a9456d4124542b1f0e44d501*****");
request.getOperation().getOutput().setBucket("examplebucket-1250000000");
request.getOperation().getOutput().setRegion("ap-chongqing");
request.getOperation().getOutput().setObject("2.mp4");
request.setQueueId("p9900025e4ec44b5e8225e70a521*****");
//3.调用接口,获取任务响应对象
MediaJobResponse response = client.createMediaJobs(request);

取消任务

功能说明

取消一个未在处理中的任务。
MediaJobsRequest request = new MediaJobsRequest();
request.setBucketName("examplebucket-1250000000");
request.setJobId("jae776cb4ec3011eab2cdd3817d4*****");
Boolean response = client.cancelMediaJob(request);

查询任务

根据任务 id 查询任务详情。
//1.创建任务请求对象
MediaJobsRequest request = new MediaJobsRequest();
//2.添加请求参数 参数详情请见 API 接口文档
request.setBucketName("examplebucket-1250000000");
request.setJobId("j29a82fea08ba11ebb54bc9d1c05*****");
//3.调用接口,获取任务响应对象
MediaJobResponse response = client.describeMediaJob(request);

查询任务列表

查询队列中的任务列表。

请求示例

MediaJobsRequest request = new MediaJobsRequest();
request.setBucketName("examplebucket-1250000000");
request.setQueueId("p9900025e4ec44b5e8225e70a521*****");
request.setTag("Transcode");
MediaListJobResponse response = client.describeMediaJobs(request);
List<MediaJobObject> jobsDetail = response.getJobsDetail();

关闭客户端

关闭 cosClient,并释放 HTTP 连接的后台管理线程,代码如下:
// 关闭客户端(关闭后台线程)
cosClient.shutdown();


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈