Java SDK接口概览(Java SDK)
桶相关接口
桶相关接口如下表所示。
| 
       接口名  | 
     
       方法  | 
     
       功能描述  | 
     
       示例代码源代码  | 
    
|---|---|---|---|
| 
       obsClient.createBucket(CreateBucketRequest request)  | 
     
       在当前账号按照用户指定的桶名创建一个新桶,接口支持根据用户诉求,在创建桶的同时配置桶的存储类别、区域及桶ACL等参数。  | 
     ||
| 
       obsClient.listBuckets(ListBucketsRequest request)  | 
     
       列举当前账号所有地域下符合指定条件的桶。返回结果以桶名的字典序排序。  | 
     ||
| 
       obsClient.deleteBucket(String bucketName)  | 
     
       桶为空时,用户可以删除桶,以免占用桶数量配额。删除桶后需要等待30分钟才能创建同名桶。  | 
     ||
| 
       obsClient.headBucket(String bucketName)  | 
     
       判断指定桶名的桶是否存在,返回的结果中HTTP状态码为200表明桶存在,否则返回404表明桶不存在。  | 
     ||
| 
       obsClient.getBucketMetadata(BucketMetadataInfoRequest request)  | 
     
       获取指定桶的相关信息,包括指定桶的存储类别、区域位置、跨域资源共享(CORS)规则、冗余策略等信息。  | 
     ||
| 
       obsClient.setBucketAcl(String bucketName,AccessControlList acl)  | 
     
       设置指定桶的ACL。  | 
     ||
| 
       obsClient.getBucketAcl(String bucketName)  | 
     
       获取指定桶的ACL。  | 
     ||
| 
       obsClient.setBucketPolicy(String bucketName, String policy)  | 
     
       配置桶的策略,如果桶已存在策略,那么当前请求中的策略将完全覆盖桶中现存的策略。  | 
     ||
| 
       obsClient.getBucketPolicy(String bucketName)  | 
     
       获取指定桶的桶策略。  | 
     ||
| 
       obsClient.deleteBucketPolicy(String bucketName)  | 
     
       删除指定桶的桶策略。无论桶的策略本身是否存在,删除成功后系统都直接返回“204 No Content”的结果。  | 
     ||
| 
       obsClient.getBucketLocation(String bucketName)  | 
     
       获取桶所在的区域位置。  | 
     ||
| 
       obsClient.getBucketStorageInfo(String bucketName)  | 
     
       获取桶的存量信息,包括桶已使用的空间大小以及桶包含的对象个数。  | 
     ||
| 
       obsClient.setBucketQuota(String bucketName, BucketQuota bucketQuota)  | 
     
       设置桶的配额限制来控制桶内允许上传的对象总容量,超过设置的对象容量后,上传对象会失败。  | 
     ||
| 
       obsClient.getBucketQuota(String bucketName)  | 
     
       获取指定桶的配额值。桶配额为0代表桶容量没有上限。  | 
     ||
| 
       obsClient.setBucketStoragePolicy(String bucketName, BucketStoragePolicyConfiguration bucketStorage)  | 
     
       设置指定桶的存储类别。设置桶的存储类别后,如果上传对象、复制对象和初始化多段上传任务时未指定对象的存储类别,则该对象的存储类别默认与桶的存储类别保持一致。  | 
     ||
| 
       obsClient.getBucketStoragePolicy(String bucketName)  | 
     
       获取指定桶的存储类别。  | 
     ||
| 
       obsClient.setInventoryConfiguration(SetInventoryConfigurationRequest request)  | 
     
       定期生成桶内对象的相关信息,保存在CSV格式的文件中,并上传到您指定的桶中,方便您管理桶内对象。指定的对象内容包括对象版本、大小、上次修改时间、存储类别、标签、加密状态等。  | 
     ||
| 
       obsClient.getInventoryConfiguration(GetInventoryConfigurationRequest request)  | 
     
       获取指定桶的清单规则,可以通过配置规则id来选择指定清单规则。  | 
     ||
| 
       obsClient.listInventoryConfiguration(ListInventoryConfigurationRequest request)  | 
     
       列举指定桶的所有清单配置,获取到的清单配置一次性返回,不分页。  | 
     ||
| 
       obsClient.deleteInventoryConfiguration(DeleteInventoryConfigurationRequest request)  | 
     
       删除指定桶的清单配置(通过清单规则id来指定确认要删除的桶清单规则)。  | 
     
并行文件系统相关接口
并行文件系统相关接口如下表所示。
| 
        接口名  | 
      
        方法  | 
      
        功能描述  | 
     
|---|---|---|
| 
        obsClient.createBucket(CreateBucketRequest request)  | 
      
        在当前账号按照用户指定的并行文件系统名称创建一个新并行文件系统,接口支持根据用户诉求,在创建并行文件系统的同时配置并行文件系统的区域及桶ACL等参数。  | 
     |
| 
        obsClient.listBuckets(ListBucketsRequest request)  | 
      
        列举当前账号下符合指定条件的并行文件系统。返回结果以文件系统名的字典序排列。  | 
     |
| 
        obsClient.listObjects(final ListObjectsRequest request)  | 
      
        列举出指定并行文件系统里的对象。  | 
     |
| 
        obsClient.modifyObject(ModifyObjectRequest request)  | 
      
        将指定并行文件系统内的一个对象从指定位置起修改为其他内容。  | 
     |
| 
        obsClient.renameObject(RenameObjectRequest request)  | 
      
        重命名对象操作是指将指定并行文件系统内的一个对象重命名为其他对象名。  | 
     |
| 
        obsClient.truncateObject(TruncateObjectRequest request)  | 
      
        截断对象操作是指将指定并行文件系统内的一个对象截断到指定大小。  | 
     
对象相关接口
对象相关接口如下表所示。
| 
        接口名  | 
      
        方法  | 
      
        功能描述  | 
      
        示例代码源代码  | 
     
|---|---|---|---|
| 
        obsClient.putObject(PutObjectRequest request)  | 
      
        通过流式上传方式将本地文件上传至OBS指定的位置,支持上传小于5GB的文件。待上传的文件可以是任何类型:文本文件、图片、视频等。  | 
      ||
| 
        obsClient.putObject(PutObjectRequest request)  | 
      
        将本地文件直接通过Internet上传至OBS指定的桶中。待上传的文件可以是任何类型:文本文件、图片、视频等。  | 
      
        -  | 
     |
| 
        PutObjectRequest.setProgressListener(ProgressListener progressListener)  | 
      
        获取指定对象的上传进度。  | 
      
        -  | 
     |
| 
        obsClient.putObject(PutObjectRequest request)  | 
      
        在已创建的桶中新建一个文件夹,从而更方便的对存储在OBS中的数据进行分类管理。  | 
      ||
| 
        obsClient.setObjectMetadata(SetObjectMetadataRequest request)  | 
      
        在上传对象时设置对象属性。对象属性包含对象长度、对象MIME类型、对象MD5值(用于校验)、对象存储类别、对象自定义元数据。对象属性可以在多种上传方式下(流式上传、文件上传、分段上传),或复制对象时进行设置。  | 
      ||
| 
        obsClient.initiateMultipartUpload(InitiateMultipartUploadRequest request)  | 
      
        使用分段上传方式传输数据前,必须先通知OBS初始化一个分段上传任务。该操作会返回一个OBS服务端创建的全局唯一标识(Upload ID),用于标识本次分段上传任务。  | 
      ||
| 
        obsClient.uploadPart(UploadPartRequest request)  | 
      
        初始化分段上传任务后,通过分段上传任务的ID,上传段到指定桶中。  | 
      ||
| 
        obsClient.completeMultipartUpload(CompleteMultipartUploadRequest request)  | 
      
        通过分段上传任务的ID和对应已上传的段信息(包括PartNumber和ETag),合并成一个完整的对象。  | 
      ||
| 
        obsClient.abortMultipartUpload(AbortMultipartUploadRequest request)  | 
      
        通过分段上传任务的ID,取消指定桶中的分段上传任务。  | 
      
        -  | 
     |
| 
        obsClient.listParts(ListPartsRequest request)  | 
      
        通过分段上传任务的ID,列举指定桶中已上传的段。  | 
      ||
| 
        obsClient.listMultipartUploads(ListMultipartUploadsRequest request)  | 
      
        列举指定桶中所有的初始化后还未合并或还未取消的分段上传任务。  | 
      
        -  | 
     |
| 
        obsClient.putObject(PutObjectRequest request)  | 
      
        OBS支持用户配置指定的规则,实现定时删除桶中的对象或者定时转换对象的存储类别,从而节省存储费用。此接口设置的对象过期时间,其优先级高于桶生命周期规则。  | 
      
        -  | 
     |
| 
        obsClient.appendObject(AppendObjectRequest request)  | 
      
        对同一个对象追加数据内容。  | 
      
        -  | 
     |
| 
        obsClient.uploadFile(UploadFileRequest request)  | 
      
        对分段上传的封装和加强,解决上传大文件时由于网络不稳定或程序崩溃导致上传失败的问题。  | 
      
        -  | 
     |
| 
        obsClient.createPostSignature(PostSignatureRequest request)  | 
      
        使用HTML表单形式上传对象到指定桶中,对象最大不能超过5GB。  | 
      ||
| 
        obsClient.getObject(GetObjectRequest request)  | 
      
        根据需要通过流式下载将存储在OBS中的指定对象下载到本地。接口返回的ObsObject实例包含对象所在的桶、对象名、对象属性、对象输入流等内容,同时可以通过操作对象输入流将对象的内容读取到本地文件或者内存中。  | 
      ||
| 
        obsClient.getObject(GetObjectRequest request)  | 
      
        如果只需要下载对象的其中一部分数据,可以使用范围下载,下载指定范围的数据。  | 
      
        -  | 
     |
| 
        GetObjectRequest.setProgressListener(ProgressListener progressListener)  | 
      
        获取指定对象的下载进度。  | 
      
        -  | 
     |
| 
        obsClient.getObject(GetObjectRequest request)  | 
      
        下载对象时,可以指定一个或多个限定条件,满足限定条件时则进行下载,否则返回异常码,下载对象失败。  | 
      
        -  | 
     |
| 
        obsClient.getObject(GetObjectRequest request)  | 
      
        下载对象时,可以重写HTTP/HTTPS中部分响应头的信息:Content-Type、Content-Language、Expires、Cache-Control、Content-Disposition、Content-Encoding。  | 
      
        -  | 
     |
| 
        obsClient.getObject(GetObjectRequest request)  | 
      
        本接口可以在下载对象成功后返回对象的自定义元数据。  | 
      ||
| 
        obsClient.restoreObject(RestoreObjectRequest request)  | 
      
        如果要下载归档存储对象,需要先将归档存储对象恢复。恢复归档存储对象的恢复选项可支持标准恢复、快速恢复。  | 
      ||
| 
        obsClient.downloadFile(DownloadFileRequest request)  | 
      
        对范围下载的封装和加强,解决下载大对象到本地时由于网络不稳定或程序崩溃导致下载失败的问题。  | 
      
        -  | 
     |
| 
        obsClient.getObject(GetObjectRequest request)  | 
      
        下载图片文件时,通过传入图片处理参数对图片文件进行图片剪切、图片缩放、图片水印、格式转换等处理。  | 
      
        -  | 
     |
| 
        obsClient.createTemporarySignature(TemporarySignatureRequest request)  | 
      
        通过临时授权方式传入图片处理参数,对图片文件进行图片剪切、图片缩放、图片水印、格式转换等处理。  | 
      
        -  | 
     |
| 
        obsClient.setObjectMetadata(SetObjectMetadataRequest request)  | 
      
        对指定桶中的对象发送HEAD请求,设置对象的元数据信息。  | 
      
        -  | 
     |
| 
        obsClient.getObjectMetadata(GetObjectMetadataRequest request)  | 
      
        对指定桶中的对象发送HEAD请求,获取对象的元数据信息。  | 
      
        -  | 
     |
| 
        obsClient.setObjectAcl(SetObjectAclRequest request)  | 
      
        在上传对象时设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改ACL 。  | 
      ||
| 
        obsClient.getObjectAcl(GetObjectAclRequest request)  | 
      
        通过接口获取指定桶中对象的ACL访问权限,返回信息包含指定对象的权限控制列表信息。  | 
      ||
| 
        obsClient.listObjects(ListObjectsRequest request)  | 
      
        列举指定桶内的部分或所有对象的描述信息。还可以通过设置前缀、数量、起始位置等参数,返回符合筛选条件的对象信息。返回结果以对象名的字典序排序。  | 
      ||
| 
        obsClient.deleteObject(DeleteObjectRequest request)  | 
      
        根据需要删除指定桶中的对象,节省空间和成本。  | 
      ||
| 
        obsClient.deleteObjects(DeleteObjectsRequest deleteRequest)  | 
      
        根据需要批量删除指定桶中的多个对象,节省空间和成本。 批量删除对象用于将一个桶内的部分对象一次性删除,删除后不可恢复。批量删除对象要求返回结果里包含每个对象的删除结果。  | 
      ||
| 
        obsClient.copyObject(CopyObjectRequest request)  | 
      
        为指定桶中的对象创建一个副本。在单次操作中,可以创建最大5GB的对象副本。  | 
      ||
| 
        obsClient.copyPart(CopyPartRequest request)  | 
      
        初始化分段上传任务后,通过分段上传任务的ID,复制段到指定桶中。  | 
      ||
| 
        doesObjectExist(final GetObjectMetadataRequest request)  | 
      
        判断对象是否存在,返回的结果中HTTP状态码为200表明对象存在,否则返回404表明对象或桶不存在。  | 
      
        -  | 
     
临时授权访问相关接口
临时授权访问相关接口如下表所示。
多版本控制相关接口
多版本控制相关接口如下表所示。
| 
        接口名  | 
      
        方法  | 
      
        功能描述  | 
      
        示例代码源代码  | 
     
|---|---|---|---|
| 
        obsClient.setBucketVersioning(final SetBucketVersioningRequest request)  | 
      
        为指定桶设置多版本状态。在一个桶中保留对象的多个版本,可方便地检索和还原各个版本,在意外操作或应用程序故障时快速恢复数据。  | 
      ||
| 
        obsClient.getBucketVersioning(final BaseBucketRequest request)  | 
      
        获取指定桶的多版本状态。  | 
      ||
| 
        obsClient.getObject(GetObjectRequest request)  | 
      
        获取指定多版本对象。  | 
      
        -  | 
     |
| 
        obsClient.copyObject(CopyObjectRequest request)  | 
      
        为指定桶中的多版本对象创建一个副本。在单次操作中,可以创建最大5GB的对象副本。  | 
      
        -  | 
     |
| 
        obsClient.restoreObject(RestoreObjectRequest request)  | 
      
        通过接口传入版本号,恢复多版本归档存储对象。 如果要下载归档存储对象,需要先将归档存储对象恢复。恢复归档存储对象的恢复选项可支持标准恢复、快速恢复。  | 
      
        -  | 
     |
| 
        obsClient.listVersions(ListVersionsRequest request)  | 
      
        列举指定桶内的部分或所有多版本对象的描述信息。还可以通过设置前缀、数量、起始位置等参数,返回符合您筛选条件的多版本对象信息。返回结果以多版本对象名的字典序排序。  | 
      ||
| 
        obsClient.setObjectAcl(SetObjectAclRequest request)  | 
      
        在上传多版本对象时,设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改或者获取ACL。  | 
      
        -  | 
     |
| 
        obsClient.getObjectAcl(GetObjectAclRequest request)  | 
      
        获取指定桶的获取多版本对象权限。  | 
      
        -  | 
     |
| 
        obsClient.deleteObject(DeleteObjectRequest request)  | 
      
        根据需要删除指定桶中的多版本对象,节省空间和成本。  | 
      
        -  | 
     |
| 
        obsClient.deleteObjects(DeleteObjectsRequest deleteRequest)  | 
      
        根据需要批量删除指定桶中的多个多版本对象,节省空间和成本。 批量删除对象用于将一个桶内的部分多版本对象一次性删除,删除后不可恢复。批量删除多版本对象要求返回结果里包含每个多版本对象的删除结果。  | 
      
生命周期管理相关接口
生命周期管理相关接口如下表所示。
| 
        接口名  | 
      
        方法  | 
      
        功能描述  | 
      
        示例代码源代码  | 
     
|---|---|---|---|
| 
        obsClient.setBucketLifecycle(final SetBucketLifecycleRequest request)  | 
      
        为指定桶设置生命周期规则,实现定时删除桶中的对象或者定时转换对象的存储类别,从而节省存储费用。  | 
      ||
| 
        obsClient.getBucketLifecycle(final BaseBucketRequest request)  | 
      
        获取指定桶的生命周期规则。  | 
      ||
| 
        obsClient.deleteBucketLifecycle(final BaseBucketRequest request)  | 
      
        删除指定桶的生命周期规则。  | 
      
跨域资源共享相关接口
跨域资源共享相关接口如下表所示。
桶日志相关接口
设置访问日志相关接口如下表所示。
| 
        接口名  | 
      
        方法  | 
      
        功能描述  | 
      
        示例代码源代码  | 
     
|---|---|---|---|
| 
        obsClient.setBucketLogging(final SetBucketLoggingRequest request)  | 
      
        为指定桶打开桶日志功能,并配置日志存放的目标桶。桶日志功能开启后,桶的每次操作将会产生一条日志,并将多条日志打包成一个日志文件。日志文件存放到开启日志功能的桶中,也可以存放到其他您有权限的桶中,但需要和开启日志功能的桶在同一个region中。您还可以根据需要配置日志文件的访问权限,以及日志文件的文件名前缀。  | 
      ||
| 
        obsClient.getBucketLogging(final BaseBucketRequest request)  | 
      
        获取指定桶的日志配置。  | 
      
静态网站托管相关接口
静态网站托管相关接口如下表所示。
| 
        接口名  | 
      
        方法  | 
      
        功能描述  | 
      
        示例代码源代码  | 
     
|---|---|---|---|
       
  | 
      
        将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。  | 
      
        -  | 
     |
| 
        obsClient.setBucketWebsite(final SetBucketWebsiteRequest request)  | 
      
        为指定桶设置网站配置信息。  | 
      ||
| 
        obsClient.getBucketWebsite(final BaseBucketRequest request)  | 
      
        获取指定桶的网站配置信息。  | 
      ||
| 
        obsClient.deleteBucketWebsite(final BaseBucketRequest request)  | 
      
        删除指定桶的网站配置。  | 
      
标签管理相关接口
标签管理相关接口如下表所示。
| 
        接口名  | 
      
        方法  | 
      
        功能描述  | 
      
        示例代码源代码  | 
     
|---|---|---|---|
| 
        obsClient.setBucketTagging(final SetBucketTaggingRequest request)  | 
      
        为桶添加标签,该桶上所有请求产生的计费话单里都会带上这些标签,从而可以针对话单报表做分类筛选,进行更详细的成本分析。  | 
      ||
| 
        obsClient.getBucketTagging(final BaseBucketRequest request)  | 
      
        获取指定桶的标签。  | 
      ||
| 
        obsClient.deleteBucketTagging(final BaseBucketRequest request)  | 
      
        删除指定桶的标签。  |