public interface OSS
阿里云存储服务(Open Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,
高可靠的云存储服务。用户可以通过简单的REST接口,在任何时间、任何地点上传和下载数据,
也可以使用WEB页面对数据进行管理。
基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。
OSS为SDK的接口类,封装了OSS的RESTFul Api接口,考虑到移动端不能在UI线程发起网络请求的编程规范, SDK为所有接口提供了异步的调用形式,也提供了同步接口。
Modifier and Type | Method and Description |
---|---|
AbortMultipartUploadResult |
abortMultipartUpload(AbortMultipartUploadRequest request)
同步取消分块上传
该接口可以根据用户提供的Upload ID中止其对应的Multipart Upload事件。
当一个Multipart Upload事件被中止后,就不能再使用这个Upload ID做任何操作,已经上传的Part数据也会被删除。
|
AppendObjectResult |
appendObject(AppendObjectRequest request)
同步追加文件
Append Object以追加写的方式上传文件。
通过Append Object操作创建的Object类型为Appendable Object,而通过Put Object上传的Object是Normal Object。
|
OSSAsyncTask<AbortMultipartUploadResult> |
asyncAbortMultipartUpload(AbortMultipartUploadRequest request,
OSSCompletedCallback<AbortMultipartUploadRequest,AbortMultipartUploadResult> completedCallback)
异步取消分块上传
该接口可以根据用户提供的Upload ID中止其对应的Multipart Upload事件。
当一个Multipart Upload事件被中止后,就不能再使用这个Upload ID做任何操作,已经上传的Part数据也会被删除。
|
OSSAsyncTask<AppendObjectResult> |
asyncAppendObject(AppendObjectRequest request,
OSSCompletedCallback<AppendObjectRequest,AppendObjectResult> completedCallback)
异步追加文件
Append Object以追加写的方式上传文件。
通过Append Object操作创建的Object类型为Appendable Object,而通过Put Object上传的Object是Normal Object。
|
OSSAsyncTask<CompleteMultipartUploadResult> |
asyncCompleteMultipartUpload(CompleteMultipartUploadRequest request,
OSSCompletedCallback<CompleteMultipartUploadRequest,CompleteMultipartUploadResult> completedCallback)
异步完成分块上传
在将所有数据Part都上传完成后,必须调用Complete Multipart Upload API来完成整个文件的Multipart Upload。
在执行该操作时,用户必须提供所有有效的数据Part的列表(包括part号码和ETAG);OSS收到用户提交的Part列表后,会逐一验证每个数据Part的有效性。
当所有的数据Part验证通过后,OSS将把这些数据part组合成一个完整的Object。
|
OSSAsyncTask<CopyObjectResult> |
asyncCopyObject(CopyObjectRequest request,
OSSCompletedCallback<CopyObjectRequest,CopyObjectResult> completedCallback)
异步复制文件
拷贝一个在OSS上已经存在的object成另外一个object,可以发送一个PUT请求给OSS,并在PUT请求头中添加元素“x-oss-copy-source”来指定拷贝源。
OSS会自动判断出这是一个Copy操作,并直接在服务器端执行该操作。如果拷贝成功,则返回新的object信息给用户。
该操作适用于拷贝小于1GB的文件,当拷贝一个大于1GB的文件时,必须使用Multipart Upload操作,具体见Upload Part Copy。
|
OSSAsyncTask<DeleteObjectResult> |
asyncDeleteObject(DeleteObjectRequest request,
OSSCompletedCallback<DeleteObjectRequest,DeleteObjectResult> completedCallback)
异步删除文件
DeleteObject用于删除某个Object。
|
OSSAsyncTask<GetObjectResult> |
asyncGetObejct(GetObjectRequest request,
OSSCompletedCallback<GetObjectRequest,GetObjectResult> completedCallback)
异步下载文件
用于获取某个Object,此操作要求用户对该Object有读权限。
|
OSSAsyncTask<HeadObjectResult> |
asyncHeadObject(HeadObjectRequest request,
OSSCompletedCallback<HeadObjectRequest,HeadObjectResult> completedCallback)
异步获取文件元信息
Head Object只返回某个Object的meta信息,不返回文件内容。
|
OSSAsyncTask<InitiateMultipartUploadResult> |
asyncInitMultipartUpload(InitiateMultipartUploadRequest request,
OSSCompletedCallback<InitiateMultipartUploadRequest,InitiateMultipartUploadResult> completedCallback)
异步初始化分块上传
使用Multipart Upload模式传输数据前,必须先调用该接口来通知OSS初始化一个Multipart Upload事件。
该接口会返回一个OSS服务器创建的全局唯一的Upload ID,用于标识本次Multipart Upload事件。
用户可以根据这个ID来发起相关的操作,如中止Multipart Upload、查询Multipart Upload等。
|
OSSAsyncTask<ListObjectsResult> |
asyncListObjects(ListObjectsRequest request,
OSSCompletedCallback<ListObjectsRequest,ListObjectsResult> completedCallback)
异步罗列文件
Get Bucket操作可用来list Bucket中所有Object的信息。
|
OSSAsyncTask<ListPartsResult> |
asyncListParts(ListPartsRequest request,
OSSCompletedCallback<ListPartsRequest,ListPartsResult> completedCallback)
异步罗列分块
List Parts命令可以罗列出指定Upload ID所属的所有已经上传成功Part。
|
OSSAsyncTask<PutObjectResult> |
asyncPutObject(PutObjectRequest request,
OSSCompletedCallback<PutObjectRequest,PutObjectResult> completedCallback)
异步上传文件
Put Object用于上传文件。
|
OSSAsyncTask<ResumableUploadResult> |
asyncResumableUpload(ResumableUploadRequest request,
OSSCompletedCallback<ResumableUploadRequest,ResumableUploadResult> completedCallback)
异步断点上传
|
OSSAsyncTask<UploadPartResult> |
asyncUploadPart(UploadPartRequest request,
OSSCompletedCallback<UploadPartRequest,UploadPartResult> completedCallback)
异步上传分块
初始化一个Multipart Upload之后,可以根据指定的Object名和Upload ID来分块(Part)上传数据。
每一个上传的Part都有一个标识它的号码(part number,范围是1~10,000)。
对于同一个Upload ID,该号码不但唯一标识这一块数据,也标识了这块数据在整个文件内的相对位置。
如果你用同一个part号码,上传了新的数据,那么OSS上已有的这个号码的Part数据将被覆盖。
除了最后一块Part以外,其他的part最小为100KB;最后一块Part没有大小限制。
|
CompleteMultipartUploadResult |
completeMultipartUpload(CompleteMultipartUploadRequest request)
同步完成分块上传
在将所有数据Part都上传完成后,必须调用Complete Multipart Upload API来完成整个文件的Multipart Upload。
在执行该操作时,用户必须提供所有有效的数据Part的列表(包括part号码和ETAG);OSS收到用户提交的Part列表后,会逐一验证每个数据Part的有效性。
当所有的数据Part验证通过后,OSS将把这些数据part组合成一个完整的Object。
|
CopyObjectResult |
copyObject(CopyObjectRequest request)
同步复制文件
拷贝一个在OSS上已经存在的object成另外一个object,可以发送一个PUT请求给OSS,并在PUT请求头中添加元素“x-oss-copy-source”来指定拷贝源。
OSS会自动判断出这是一个Copy操作,并直接在服务器端执行该操作。如果拷贝成功,则返回新的object信息给用户。
该操作适用于拷贝小于1GB的文件,当拷贝一个大于1GB的文件时,必须使用Multipart Upload操作,具体见Upload Part Copy。
|
DeleteObjectResult |
deleteObject(DeleteObjectRequest request)
同步删除文件
DeleteObject用于删除某个Object。
|
boolean |
doesObjectExist(java.lang.String bucketName,
java.lang.String objectKey)
检查指定Object是否存在
|
GetObjectResult |
getObject(GetObjectRequest request)
同步下载文件
用于获取某个Object,此操作要求用户对该Object有读权限。
|
HeadObjectResult |
headObject(HeadObjectRequest request)
同步获取文件元信息
Head Object只返回某个Object的meta信息,不返回文件内容。
|
InitiateMultipartUploadResult |
initMultipartUpload(InitiateMultipartUploadRequest request)
同步初始化分块上传
使用Multipart Upload模式传输数据前,必须先调用该接口来通知OSS初始化一个Multipart Upload事件。
该接口会返回一个OSS服务器创建的全局唯一的Upload ID,用于标识本次Multipart Upload事件。
用户可以根据这个ID来发起相关的操作,如中止Multipart Upload、查询Multipart Upload等。
|
ListObjectsResult |
listObjects(ListObjectsRequest request)
同步罗列文件
Get Bucket操作可用来list Bucket中所有Object的信息。
|
ListPartsResult |
listParts(ListPartsRequest request)
同步罗列分块
List Parts命令可以罗列出指定Upload ID所属的所有已经上传成功Part。
|
java.lang.String |
presignConstrainedObjectURL(java.lang.String bucketName,
java.lang.String objectKey,
long expiredTimeInSeconds)
签名Object的访问URL,以便授权第三方访问
|
java.lang.String |
presignPublicObjectURL(java.lang.String bucketName,
java.lang.String objectKey)
签名公开可访问的URL
|
PutObjectResult |
putObject(PutObjectRequest request)
同步上传文件
Put Object用于上传文件。
|
ResumableUploadResult |
resumableUpload(ResumableUploadRequest request)
同步断点上传
|
void |
updateCredentialProvider(OSSCredentialProvider credentialProvider)
更新鉴权设置,调用后,旧的设置会失效
|
UploadPartResult |
uploadPart(UploadPartRequest request)
同步上传分块
初始化一个Multipart Upload之后,可以根据指定的Object名和Upload ID来分块(Part)上传数据。
每一个上传的Part都有一个标识它的号码(part number,范围是1~10,000)。
对于同一个Upload ID,该号码不但唯一标识这一块数据,也标识了这块数据在整个文件内的相对位置。
如果你用同一个part号码,上传了新的数据,那么OSS上已有的这个号码的Part数据将被覆盖。
除了最后一块Part以外,其他的part最小为100KB;最后一块Part没有大小限制。
|
OSSAsyncTask<PutObjectResult> asyncPutObject(PutObjectRequest request, OSSCompletedCallback<PutObjectRequest,PutObjectResult> completedCallback)
request
- 请求信息completedCallback
- PutObjectResult putObject(PutObjectRequest request) throws ClientException, ServiceException
request
- 请求信息ClientException
ServiceException
OSSAsyncTask<GetObjectResult> asyncGetObejct(GetObjectRequest request, OSSCompletedCallback<GetObjectRequest,GetObjectResult> completedCallback)
request
- completedCallback
- GetObjectResult getObject(GetObjectRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<DeleteObjectResult> asyncDeleteObject(DeleteObjectRequest request, OSSCompletedCallback<DeleteObjectRequest,DeleteObjectResult> completedCallback)
request
- completedCallback
- DeleteObjectResult deleteObject(DeleteObjectRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<AppendObjectResult> asyncAppendObject(AppendObjectRequest request, OSSCompletedCallback<AppendObjectRequest,AppendObjectResult> completedCallback)
request
- completedCallback
- AppendObjectResult appendObject(AppendObjectRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<HeadObjectResult> asyncHeadObject(HeadObjectRequest request, OSSCompletedCallback<HeadObjectRequest,HeadObjectResult> completedCallback)
request
- completedCallback
- HeadObjectResult headObject(HeadObjectRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<CopyObjectResult> asyncCopyObject(CopyObjectRequest request, OSSCompletedCallback<CopyObjectRequest,CopyObjectResult> completedCallback)
request
- completedCallback
- CopyObjectResult copyObject(CopyObjectRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<ListObjectsResult> asyncListObjects(ListObjectsRequest request, OSSCompletedCallback<ListObjectsRequest,ListObjectsResult> completedCallback)
request
- completedCallback
- ListObjectsResult listObjects(ListObjectsRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<InitiateMultipartUploadResult> asyncInitMultipartUpload(InitiateMultipartUploadRequest request, OSSCompletedCallback<InitiateMultipartUploadRequest,InitiateMultipartUploadResult> completedCallback)
request
- completedCallback
- InitiateMultipartUploadResult initMultipartUpload(InitiateMultipartUploadRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<UploadPartResult> asyncUploadPart(UploadPartRequest request, OSSCompletedCallback<UploadPartRequest,UploadPartResult> completedCallback)
request
- completedCallback
- UploadPartResult uploadPart(UploadPartRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<CompleteMultipartUploadResult> asyncCompleteMultipartUpload(CompleteMultipartUploadRequest request, OSSCompletedCallback<CompleteMultipartUploadRequest,CompleteMultipartUploadResult> completedCallback)
request
- completedCallback
- CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<AbortMultipartUploadResult> asyncAbortMultipartUpload(AbortMultipartUploadRequest request, OSSCompletedCallback<AbortMultipartUploadRequest,AbortMultipartUploadResult> completedCallback)
request
- completedCallback
- AbortMultipartUploadResult abortMultipartUpload(AbortMultipartUploadRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
OSSAsyncTask<ListPartsResult> asyncListParts(ListPartsRequest request, OSSCompletedCallback<ListPartsRequest,ListPartsResult> completedCallback)
request
- completedCallback
- ListPartsResult listParts(ListPartsRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
void updateCredentialProvider(OSSCredentialProvider credentialProvider)
OSSAsyncTask<ResumableUploadResult> asyncResumableUpload(ResumableUploadRequest request, OSSCompletedCallback<ResumableUploadRequest,ResumableUploadResult> completedCallback)
request
- ClientException
ServiceException
ResumableUploadResult resumableUpload(ResumableUploadRequest request) throws ClientException, ServiceException
request
- ClientException
ServiceException
java.lang.String presignConstrainedObjectURL(java.lang.String bucketName, java.lang.String objectKey, long expiredTimeInSeconds) throws ClientException
bucketName
- 存储Object的Bucket名objectKey
- Object名expiredTimeInSeconds
- URL的有效时长,秒为单位ClientException
java.lang.String presignPublicObjectURL(java.lang.String bucketName, java.lang.String objectKey)
bucketName
- 存储Object的Bucket名objectKey
- Object名boolean doesObjectExist(java.lang.String bucketName, java.lang.String objectKey) throws ClientException, ServiceException
bucketName
- objectKey
- ClientException
ServiceException