Java SDK 开发包最新版本 v3.9.0.1。
API |
描述 |
---|---|
getFromConfigFile |
初始化服务 |
getFromConfigObject |
初始化服务 |
putObject |
以 File 对象上传对象存储,若对象存在则更新。 |
batchPutObject |
同时上传多个 File 对象到 OBS。 |
putObjectMultipart |
对于大文件上传,可以切分成片上传。在以下情况下,应该考虑使用分片上传:
|
abortMultipartUpload |
分片上传的接口中,当参数 MutilpartUploadFileRequest 的 enableCheckpoint 被设置成 true 时(默认为true),断点续传功能被开启。断点续传允许重试失败的分片,而不需重传已经成功的分片。分片上传会在客户端的文件系统中创建一个分片记录(.ucp)文件。开启断点续传功能后,上传会读取该文件中的记录,而只传还未完成的分片;若此记录文件不存在,则会创建该记录文件,并从头开始上传文件。 由于分片上传的每个片会驻留在 OBS 中,直到所有分片上传完成且执行 complete 操作。未执行 complete 操作的上传,其相关的分片将占用存储资源。用户需要调用取消分片上传的接口来删除这些分片。 |
putAndCompressObject |
将File对象进行压缩上传到对象存储,若对象存在则更新。 |
getObject |
下载指定对象,此方法将占用一个Http连接,在Content读取完毕或显示关闭时释放连接。若仅为了获得对象的描述信息而非内容,请使用headObject接口。 |
getSignedUrl |
获取对象的已签名的下载 URL。 |
getImageViewUrl |
获取图片处理下载链接。 |
batchGetObject |
根据多个文件的 objectKey 同时下载多个文件。 |
getAndUncompressObject |
解压指定objectKey对象,然后进行下载。 |
listObjects |
查询bucket下的对象列表。 |
headObject |
获得对象描述信息以及自定义元数据。 |
deleteObject |
删除指定对象。 |
encryptFile |
客户端加密是指用户数据在发送给远端服务器之前,通过SDK完成加密,而加密所用的密钥由用户方自己保存,从而可以保证用户数据安全和密钥唯一性,即使数据泄漏别人也无法解密得到原始数据。 |
encryptInputStream |
客户端加密是指用户数据在发送给远端服务器之前,通过SDK完成加密,而加密所用的密钥由用户方自己保存,从而可以保证用户数据安全和密钥唯一性,即使数据泄漏别人也无法解密得到原始数据。 |
decryptFile |
客户端解密是指用户从OBS服务器获取密文后,在客户端进行数据解密。 |
decryptInputStream |
客户端解密是指用户从OBS服务器获取密文后,在客户端进行数据解密。 |
getImageView |
格式转换,获取适配图片,支持格式 jpeg,tiff, gif, bmp, png ,其中 gif 格式只会保留第一帧图片,此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。参数 width 和 height 至少需传入一个,不能同时为 0。 |
getThumbnail |
根据自定义规则获取缩略图或视频截图,缩略图支持格式jpeg, tiff, gif, bmp, png,截图支持格式: jpg和png,此法将占用一个Http连接,在Content读取完毕或显示关闭时释放连接。 |
getCutImage |
根据宽度和高度获取剪切图,先截取图片左边和上边,截取到一定大小后(比较小的时候),会截取四边,保留中间部分,当设定值大于图片实际宽、高时,会根据实际大小裁剪,支持 jpeg, tiff, gif, bmp, emf, exif, wmf, icon, png, memoryBmp, webp。此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。 |
getImageInfo |
获取指定图片信息 |
transCodingMedia |
媒体转码,此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。 |
getVedioFrame |
获取视频截图,此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。 |
getMediaInfo |
获取媒体对象的信息。 |
queryMediaByCKs |
获取 media 转码记录,用于查询转码进度。 |
deleteMediaByCK |
根据转换后新生成的 key 删除 media 转码记录及转码后的 object。 |
pfop |
图片、音视频异步处理并持久化。 |
prefop |
操作pfop操作进度和操作结果。 |
(1)初始化服务
描述
RadosgwService 是 OBS 服务的 JAVA 客户端,它为调用者提供一系列与 OBS 进行交互的接口,用于上传下载文件,加密解密文件,处理图片,音视频文件等。用户在调用 SDK 接口前必须先初始化 RadosgwService 服务。
基本配置文件创建服务实例:
基于 ObsClientConfig 接口对象创建服务实例:
String configFileName =; RadosgwService service = RadosgwServiceFactory. getFromConfigFile(configFileName);
将配置文件信息放在 classpath 下,作为 configFileName.properties 文件存放。
access_id = theAccessId security_id = theSecurityId rgw_addr = theObsEndPoint
ObsClientConfig oc = new ObsClientConfig() { public String getUserAgent() { return "" ; } public String getObsUrl() { return "" ; } public String getObsAccessKey() { return "" ; } public String getObsSecret() { return "" ; } }; RadosgwService service = RadosgwServiceFactory.getFromConfigObject(oc);
theObsEndPoint请从OBS控制台去获取endpoint,建议使用https 的请求,如"https://obs-cn-shenzhen.yun.pingan.com"。
(2) putObject(文件上传)
接口描述
以 File 对象上传对象存储,若对象存在则更新。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
需自行实现策略保证同一 bucket 下 objectKey唯一, 首字符不能为路径符。 |
localFile |
File |
true |
待上传的文件对象 |
不能超过 1GB |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
putObjectResult |
PutObjectResult |
PutObjectResult 对象 |
- |
(3) putObject(文件上传)
接口描述
以 File 对象上传对象存储并附带自定义元数据,若对象存在则更新。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
需自行实现策略保证同一 bucket 下 objectKey唯一, 首字符不能为路径符。 |
localFile |
File |
true |
待上传的文件对象 |
不能超过 1GB |
metadata |
ObjectMetadata |
true |
自定义元数据 |
key-value 格式,key 只允许使用大写字母、数字、中横线 |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
putObjectResult |
PutObjectResult |
PutObjectResult 对象 |
- |
(4) putObject(流式上传)
接口描述
以 InputStream 形式上传对象存储,若对象存在则更新,建议仅用于上传较小的对象。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
需自行实现策略保证同一 bucket 下 objectKey唯一, 首字符不能为路径符。 |
inputStream |
InputStream |
true |
待上传的流 |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
putObjectResult |
PutObjectResult |
PutObjectResult 对象 |
- |
(5) putObject(流式上传)
接口描述
以 InputStream 形式上传对象存储并附带对象元数据,若对象存在则更新,大、小对象上传均适用。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
需自行实现策略保证同一 bucket 下 objectKey唯一, 首字符不能为路径符。 |
inputStream |
InputStream |
true |
待上传的流 |
- |
metadata |
ObjectMetadata |
true |
自定义元数据 |
key-value 格式,key 只允许使用小写字母、数字、中横线。建议指定 ContentLength,若不指定,流会被首先全部读取到内存再做上传;建议指定 contentType,若不指定,会赋予默认类型 application/octet-stream。 |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
putObjectResult |
PutObjectResult |
PutObjectResult 对象 |
- |
(6) batchPutObject(批量上传)
接口描述
同时上传多个 File 对象到 OBS。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
batchPutFiles |
BatchPutFile[] |
true |
批量上传的文件对象数组 |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
BatchPutObjectResults |
List |
每个 BatchPutObjectResult 对象中包含该文件上传信息(比如上传是否成功,上传失败原因,文件 MD5 值等)。 |
- |
(7) putObjectMultipart(分片上传)
接口描述
对于大文件上传,可以切分成片上传。在以下情况下,应该考虑使用分片上传:
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
uploadFileRequest |
MutilpartUploadFileRequest |
true |
分片上传参数 uploadFileRequest 说明:
分片上传相较于 s3 已经简化了使用步骤。仅需要调用一个接口。 |
- |
响应参数
无
(8) abortMultipartUpload(取消分片上传)
接口描述
取消分片上传。分片上传的接口中,当参数 MutilpartUploadFileRequest 的 enableCheckpoint 被设置成 true 时(默认为true),断点续传功能被开启。断点续传允许重试失败的分片,而不需重传已经成功的分片。分片上传会在客户端的文件系统中创建一个分片记录(.ucp)文件。开启断点续传功能后,上传会读取该文件中的记录,而只传还未完成的分片;若此记录文件不存在,则会创建该记录文件,并从头开始上传文件。 由于分片上传的每个片会驻留在 OBS 中,直到所有分片上传完成且执行 complete 操作。未执行 complete 操作的上传,其相关的分片将占用存储资源。用户需要调用取消分片上传的接口来删除这些分片。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
abortRequest |
AbortMutilpartUploadRequest |
true |
初始化 abortRequest参数需传入: bucket: 对象的 bucket 名称 objectKey:对象 Key uploadId: 待删除的分片所属的 upload 编号。必须实现 uploadNotifier,在对应通知中获取 uploadId |
- |
响应参数
无
(9) putAndCompressObject(文件压缩上传)
接口描述
将File对象进行压缩上传到对象存储,若对象存在则更新。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
需自行实现策略保证同一 bucket 下 objectKey 唯一, 不能为空,首字符不能为路径符 |
localFile |
File |
true |
待上传的文件对象 |
不能超过 1GB |
metadata |
ObjectMetadata |
true |
自定义元数据 |
key-value 格式,key 只允许使用小写字母、数字、中横线 |
mode |
CompressMode |
true |
压缩模式,目前支持MS,ML,ZIP,GZP,LZ4,LZO模式 |
极限模式(ML):使用FastLZ算法对文件进行压缩/解压。FastLZ算法针对文本文件有很好压缩效果,经测试压缩率接近10%(压缩后文件大小/压缩前文件大小),同时对图片类型格式可取得较好的压缩效果,尤其对位图压缩率可以小于60%。但对于已经压缩文件和音视频文件压缩效果十分差。其压缩速度和解压速度优于传统zip方式。 极速模式(MS):使用SNAPPY压缩算法对文件进行压缩/解压。SNAPPY算法针对文本文件压缩/解压,压缩率15%左右,图片类中对位图压缩缩率小于60%,但其压缩/解压速度为极限压缩数度5倍以上(压缩速度最可达100M/S,解压速度可达:400M/s)。 zip模式(ZIP):使用JDK自带GZIP压缩算法对文件进行压缩/解压 。其详细信息参照JDK。 GZIP压缩(GZIP):使用JDK自带DEFLATE算法对文件进行压缩/解压 。其详细信息参照JDK。 LZ4模式(LZ4):使用LZ77优化后的算法LZ4对文件进行压缩/解压。其主要特点牺牲压缩率获取压缩速度。处理文本文件压缩率大于30%,图片类文件完全无法压缩。 压缩速度和解压速度略小于极速模式。 LZO模式(LZO):LZO 是一个用 ANSI C语言编写的无损压缩库。LZO 非常适合进行数据的实时压缩解压处理,这就是说他更关心操作速度,而不是压缩比例。压缩速度为极速模式二分之一,解压速度为极速模式四分之一。 |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
putObjectResult |
PutObjectResult |
PutObjectResult对象 |
- |
(10)getObject(文件下载)
接口描述
下载指定对象,此方法将占用一个Http连接,在Content读取完毕或显示关闭时释放连接。若仅为了获得对象的描述信息而非内容,请使用headObject接口。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
s3object |
S3Object |
包含对象流的 S3Object 实例,需读取 Content 自行保存 |
- |
(11)getSignedUrl(获取下载链接)
接口描述
获取对象的已签名的下载 URL,使用默认设置。默认有效时间为 20 秒。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
url |
String |
已签名的对象下载 url |
url 具有默认的有效期,下载文件名为对象 Key |
(12)getSignedUrl(获取下载链接)
接口描述
获取对象的已签名的下载 URL,指定返回 contentDisposition 头以告知浏览器如何显示文件,并使用默认的 url 有效期 20 秒。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
contentDisposition |
String |
true |
在请求url时,期望云存储服务端返回的 content-disposition 头信息 |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
url |
String |
已签名的对象下载 url |
已签名的对象下载 url,url 具有默认的有效期。最长 15 mins |
(13)getSignedUrl(获取下载链接)
接口描述
获取对象的已签名的下载URL,指定返回contentDisposition头以告知浏览器如何显示文件,并指定url有效期(秒)。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
contentDisposition |
String |
true |
在请求url时,期望云存储服务端返回的 content-disposition 头信息 |
- |
expireSeconds |
long |
true |
url 有效秒数 |
url 生成后,在此时间段内有效,过期的 url 会被云存储拒绝访问 |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
url |
String |
已签名的对象下载 url |
(14)getImageViewUrl(获取图片处理下载链接)
接口描述
获取图片处理下载链接。
请求参数
字段名称 |
字段类型 |
是否必须 |
字段描述 |
备注 |
---|---|---|---|---|
bucketName |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
contentDisposition |
String |
true |
在请求url时,期望云存储服务端返回的 content-disposition 头信息,默认为null |
- |
expireSeconds |
long |
true |
url有效秒数,url生成后,在此时间段内有效,过期的url会被云存储拒绝访问,默认为20s |
- |
formatOps |
String |
true |
参数是必须的,但需要设置为空NULL。 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
url |
String |
已签名的图片处理下载链接 |
- |
(15)batchGetObject(批量下载)
接口描述
根据多个文件的 objectKey 同时下载多个文件。
请求参数
字段名称 |
字段类型 |
是否必须 |
字段描述 |
备注 |
---|---|---|---|---|
bucketName |
String |
true |
保存对象的 bucket 名称 |
- |
objectKeys |
String[] |
true |
objectKey 数组 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
batchS3ObjectList |
List |
批量下载完毕后,SDK 将返回结果对象 List,循环该 List 去得到每个文件下载后的对象,该对象中包含所下载文件的文件流,另外还有该文件下载时的信息(比如下载是否成功,下载失败原因,文件 MD5 值等。) |
- |
(16)getAndUncompressObject(文件解压下载)
接口描述
解压指定objectKey对象,然后进行下载。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
s3Object |
S3Object |
包含对象流的 S3Object 实例,需读取 Content 自行保存 |
- |
(17)listObjects(查询bucket下的对象列表)
接口描述
查询bucket下的对象列表。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
listObjectsRequest |
ListObjectsRequest |
true |
listObjectsRequest: 查询参数: listObjectsRequest.delimiter 一个用于对KEY进行分组的字符。如果查询参数中指定了prefix,则在查询结果中,对KEY计算从prefix到第一次匹配delimiter的位置的截取串,所有KEY按此截取串进行分组且将结果放于元素CommonPrefixes下;若未指定prefix,则截取从KEY的开始位置执行计算。CommonPrefixes下面的KEY将不会在出现在查询结果中的其它位置。 listObjectsRequest.marker指定查询KEY的起始位置(不包括此KEY)。 listObjectsRequest. max-keys 查询结果最大Key的数量,默认为1000。 listObjectsRequest.prefix指定查询前缀。 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
objectListing |
ObjectListing |
查询结果: ObjectListing .isTruncated 查询结果是否被截取。若被截取,则表示查询还有下一页。 ObjectListing. nextMarker 下一页的mark。注意:此字段仅在请求中包含了delimiter参数时才会出现在响应中。否则,应该取响应中的KEY列表(object Summarie s)的最后一个元素作为下一页请求的mark参数。 |
- |
(18)headObject(获取文件信息)
接口描述
获得对象描述信息以及自定义元数据
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
objectMetadata |
ObjectMetadata |
对象元数据 ObjectMetadata |
- |
(19)deleteObject(删除Object)
接口描述
删除指定对象
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
响应参数
无
(20)encryptFile(加密文件)
接口描述
客户端加密是指用户数据在发送给远端服务器之前,通过SDK完成加密,而加密所用的密钥由用户方自己保存,从而可以保证用户数据安全和密钥唯一性,即使数据泄漏别人也无法解密得到原始数据。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
file |
File |
true |
文件对象 |
- |
keySource |
String |
true |
加密文件用的密钥 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
inputStream |
InputStream |
文件加密流 |
(21)encryptInputStream(加密文件流)
接口描述
客户端加密是指用户数据在发送给远端服务器之前,通过SDK完成加密,而加密所用的密钥由用户方自己保存,从而可以保证用户数据安全和密钥唯一性,即使数据泄漏别人也无法解密得到原始数据。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
inputStream |
InputStream |
true |
文件流 |
- |
keySource |
String |
true |
加密文件用的密钥 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
inputStream |
InputStream |
文件加密流 |
- |
(22)decryptFile(解密文件)
接口描述
客户端解密是指用户从OBS服务器获取密文后,在客户端进行数据解密。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
file |
File |
true |
文件对象 |
- |
keySource |
String |
true |
加密文件用的密钥 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
inputStream |
InputStream |
文件解密流 |
- |
(23)decryptInputStream(解密文件流)
接口描述
客户端解密是指用户从OBS服务器获取密文后,在客户端进行数据解密。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
inputStream |
InputStream |
true |
文件流 |
- |
keySource |
String |
true |
加密文件用的密钥 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
inputStream |
InputStream |
文件解密流 |
- |
(24)getImageView(图片格式转换)
接口描述
客户端解密是指用户从OBS服务器获取密文后,在客户端进行数据解密。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
mode |
String |
true |
缩放方式,有效值 0~5。
|
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
s3object |
S3Object |
包含对象流的 S3Object 实例,需读取 Content 自行保存 |
- |
(25)getThumbnail (获取缩略图或视频截图)
接口描述
根据自定义规则获取缩略图或视频截图,缩略图支持格式jpeg, tiff, gif, bmp, png,截图支持格式:` jpg和png,此法将占用一个Http连接,在Content读取完毕或显示关闭时释放连接。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
formatName |
String |
true |
适配规则名称: 作为条件从数据库获取对应的自定义规则,然后截取第一个/前的内容进行适配,若为imageView则是图片缩放,若为vframe,则是视频截图 |
- |
rectify |
String |
false |
是否需要校正`(“true”或”false”,非必传),只对视频截图进行校正,旋转90或270(只是宽和高的长度换,并不是真正的旋转) |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
s3object |
S3Object |
包含对象流的 S3Object 实例,需读取 Content 自行保存 |
- |
(26)getCutImage (图片剪切)
接口描述
根据宽度和高度获取剪切图,先截取图片左边和上边,截取到一定大小后(比较小的时候),会截取四边,保留中间部分,当设定值大于图片实际宽、高时,会根据实际大小裁剪,支持 jpeg, tiff, gif, bmp, emf, exif, wmf, icon, png, memoryBmp, webp。此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
width |
int |
true |
图片宽度,非负数,有效值(0-6000) |
- |
height |
int |
true |
图片高度,非负数,有效值(0-6000) |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
s3object |
S3Object |
包含对象流的 S3Object 实例,需读取 Content 自行保存 |
- |
(27)getImageInfo(获取图片信息)
接口描述
获取指定图片信息。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
imageInfoStr |
InputStream |
图片信息,json格式字符串,示例如下:
|
- |
(28)transCodingMedia(媒体转码)
接口描述
媒体转码,此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
format |
String |
true |
转码后对象的格式 |
- |
notifyURL |
String |
true |
转码JOB的通知URL |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
s3object |
S3Object |
包含对象流的 S3Object 实例,需读取 Content 自行保存 |
- |
(29)getVedioFrame(视频截图)
接口描述
获取视频截图,此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
format |
String |
true |
截图的格式、尺寸 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
s3object |
S3Object |
包含对象流的 S3Object 实例,需读取 Content 自行保存 |
- |
(30)getMediaInfo(获取媒体信息)
接口描述
获取视频截图,此方法将占用一个 Http 连接,在 Content 读取完毕或显示关闭时释放连接。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象 Key |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
mediaInfoStr |
String |
媒体对象的信息,json格式字符串,示例如下:
|
- |
(31)queryMediaByCKs(获取转码记录)
接口描述
获取 media 转码记录,用于查询转码进度。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
convertedKeys |
List |
true |
转换后新生成的对象Key集合 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
mediaResultStr |
String |
音视频转码进度信息,json字符串,示例如下:
|
- |
(32)deleteMediaByCK(删除转码信息)
接口描述
根据转换后新生成的 key 删除 media 转码记录及转码后的 object。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucket |
String |
true |
保存对象的 bucket 名称 |
- |
convertedKey |
String |
true |
转换后新生成的对象 Key |
- |
响应参数
无
(33)pfop(图片处理,音视频转码持久化处理(PFOP接口))
接口描述
图片、音视频异步处理并持久化。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
sourceType |
SourceType |
true |
媒体类型 |
- |
srcBucket |
String |
true |
源bucket |
- |
srcKey |
String |
true |
源key |
- |
force |
boolean |
true |
指定当处理后的KEY已经存在于bucket中是否覆盖已经存在的对象。为true时覆盖。 |
- |
notifyUrl |
String |
true |
异步处理完成后通知客户的地址。 |
- |
ops |
String |
true |
持久处理操作列表,用 | 分隔,如:
saveas/ZGRhc2U6cGxhaW50ZXh0LWZyYW1lMVU= 是将源视频文件转成wma并以KEY mywma 存储在bucket ddase下;转成mp3并以KEY mymp3 存储在bucket ddase下。 一个持久处理包括处理命令和存储设置,用 ; 分隔。存储设置以saveas/开头,后接按Base64编码后的字符串。若不指定saveas,则会由obs生成一个key并保存在srcBucket下。 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
resultStr |
String |
Pfop异步操作流水号JSON,用于查询操作进度。
|
- |
(34)Prefop(PFOP持久化处理结果查询)
接口描述
操作pfop操作进度和操作结果。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
persistentId |
String |
true |
异步处理流水号 |
- |
响应参数
字段名称 |
字段类型 |
字段描述 |
备注 |
---|---|---|---|
resultStr |
String |
查询响应为content-type为application/json的字符串,示例如下:
|
- |
查询结果说明:
名称 |
必填 |
描述 |
---|---|---|
code |
是 |
状态码 0:成功,1:正在处理,2:处理成功但PFOP操作列表部分或全部失败,3:处理失败 |
desc |
否 |
对应code的描述 |
id |
是 |
PFOP持久处理流水号 |
inputBucket |
是 |
源文件所在bucket |
inputKey |
是 |
源文件所在key |
items |
否 |
持久操作列表(仅当code码为0/2时该字段有值),与通知内容中的items一致,请参阅 通知内容说明 |
notifyState |
否 |
通知状态 0:成功,1:等待通知,2:通知失败,3:通知彻底失败并不再尝试通知。为空表示处理还未完成。 |
notifyResponseCode |
否 |
通知客户端的响应码,当响应为200时被认为通知成功 |
notifyResponseBody |
否 |
通知响应,当通知失败时为失败相关的信息 |
notifyTryTimes |
否 |
通知客户端已经尝试的次数 |
场景描述
平安云ECS主机上传,生成公网可访问的下载链接。
实现过程
初始化上传service
RadosgwService uploadService = RadosgwServiceFactory.getFromConfigFile("obs_ecs_upload.properties");
初始化生成公网链接service
RadosgwService urlService=RadosgwServiceFactory.getFromConfigFile("obs_ext_url.properties");
调用上传服务
uploadService.putObject("bucket", "objectKey", new File("filePath"));
生成公网下载链接
String url=urlService.getSignedUrl("bucket", "objectKey");
配置文件信息
obs_ecs_upload.properties | obs_ext_url.properties |
---|---|
access_id= Access Key ID which have upload rights security_id=Access Key Secret which have upload rights rgw_addr=obs-cn-shenzhen-internal.cloud.papub |
access_id= Access Key ID which have download rights security_id=Access Key Secret which have download rights rgw_addr=obs-cn-shenzhen.pinganyun.com |
Call us
400-151-8800
Email us
cloud@pingan.com
Online customer service
Instant reply
Technical Support
cloud products