计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
态势感知 SA
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
文档首页/ 对象存储服务 OBS/ SDK参考/ Java/ Java SDK接口概览(Java SDK)

Java SDK接口概览(Java SDK)

更新时间:2024-03-29 GMT+08:00

桶相关接口

桶相关接口如下所示。

表1 桶相关接口概览

接口名

方法

功能描述

示例代码源代码

创建桶

obsClient.createBucket(CreateBucketRequest request)

在当前账号按照用户指定的桶名创建一个新桶,接口支持根据用户诉求,在创建桶的同时配置桶的存储类别、区域及桶的访问权限等参数。

BucketOperationsSample

列举桶

obsClient.listBuckets(ListBucketsRequest request)

列举当前账号所有地域下符合指定条件的桶。返回结果以桶名的字典序排序。

BucketOperationsSample

删除桶

obsClient.deleteBucket(String bucketName)

桶为空时,用户可以删除桶,以免占用桶数量配额。删除桶后需要等待30分钟才能创建同名桶。

BucketOperationsSample

判断桶是否存在

obsClient.headBucket(String bucketName)

判断指定桶名的桶是否存在,返回的结果中HTTP状态码为200表明桶存在,否则返回404表明桶不存在。

BucketOperationsSample

获取桶元数据

obsClient.getBucketMetadata(BucketMetadataInfoRequest request)

获取指定桶的相关信息,包括指定桶的存储类别、区域位置、跨域资源共享(CORS)规则、冗余策略等信息。

BucketOperationsSample

设置桶ACLs

obsClient.setBucketAcl(String bucketName,AccessControlList acl)

设置指定桶的ACL策略。

BucketOperationsSample

获取桶ACLs

obsClient.getBucketAcl(String bucketName)

获取指定桶的ACL策略。

BucketOperationsSample

设置桶策略

obsClient.setBucketPolicy(String bucketName, String policy)

配置桶的策略,如果桶已存在策略,那么当前请求中的策略将完全覆盖桶中现存的策略。

BucketOperationsSample

获取桶策略

obsClient.getBucketPolicy(String bucketName)

获取指定桶的桶策略。

BucketOperationsSample

删除桶策略

obsClient.deleteBucketPolicy(String bucketName)

删除指定桶的桶策略。无论桶的策略本身是否存在,删除成功后系统都直接返回“204 No Content”的结果。

BucketOperationsSample

获取桶区域位置

obsClient.getBucketLocation(String bucketName)

获取桶所在的区域位置。

BucketOperationsSample

获取桶存量信息

obsClient.getBucketStorageInfo(String bucketName)

获取桶的存量信息,包括桶已使用的空间大小以及桶包含的对象个数。

BucketOperationsSample

设置桶配额

obsClient.setBucketQuota(String bucketName, BucketQuota bucketQuota)

设置桶的配额限制来控制桶内允许上传的对象总容量,超过设置的对象容量后,上传对象会失败。

BucketOperationsSample

获取桶配额

obsClient.getBucketQuota(String bucketName)

获取指定桶的配额值。桶配额为0代表桶容量没有上限。

BucketOperationsSample

设置桶存储类别

obsClient.setBucketStoragePolicy(String bucketName, BucketStoragePolicyConfiguration bucketStorage)

设置指定桶的存储类别。设置桶的存储类别后,如果上传对象、复制对象和初始化多段上传任务时未指定对象的存储类别,则该对象的存储类别默认与桶的存储类别保持一致。

BucketOperationsSample

获取桶存储类别

obsClient.getBucketStoragePolicy(String bucketName)

获取指定桶的存储类别。

BucketOperationsSample

设置桶清单规则

obsClient.setInventoryConfiguration(SetInventoryConfigurationRequest request)

定期生成桶内对象的相关信息,保存在CSV格式的文件中,并上传到您指定的桶中,方便您管理桶内对象。指定的对象内容包括对象版本、大小、上次修改时间、存储类别、标签、加密状态等。

BucketOperationsSample

获取桶清单规则

obsClient.getInventoryConfiguration(GetInventoryConfigurationRequest request)

获取指定桶的清单规则,可以通过配置规则id来选择指定清单规则。

BucketOperationsSample

列举桶清单规则

obsClient.listInventoryConfiguration(ListInventoryConfigurationRequest request)

列举指定桶的所有清单配置,获取到的清单配置一次性返回,不分页。

BucketOperationsSample

删除桶清单规则

obsClient.deleteInventoryConfiguration(DeleteInventoryConfigurationRequest request)

删除指定桶的清单配置(通过清单规则id来指定确认要删除的桶清单规则)。

BucketOperationsSample

并行文件系统相关接口

并行文件系统相关接口如下所示。

表2 并行文件系统相关接口概览

接口名

方法

功能描述

创建并行文件系统

obsClient.createBucket(CreateBucketRequest request)

在当前账号按照用户指定的并行文件系统名称创建一个新并行文件系统,接口支持根据用户诉求,在创建并行文件系统的同时配置并行文件系统的区域及桶的访问权限等参数。

列举并行文件系统

obsClient.listBuckets(ListBucketsRequest request)

列举当前账号下符合指定条件的并行文件系统。返回结果以文件系统名的字典序排列。

列举并行文件系统内对象

obsClient.listObjects(final ListObjectsRequest request)

列举出指定并行文件系统里的对象。

修改写对象

obsClient.modifyObject(ModifyObjectRequest request)

将指定并行文件系统内的一个对象从指定位置起修改为其他内容。

重命名对象

obsClient.renameObject(RenameObjectRequest request)

重命名对象操作是指将指定并行文件系统内的一个对象重命名为其他对象名。

截断对象

obsClient.truncateObject(TruncateObjectRequest request)

截断对象操作是指将指定并行文件系统内的一个对象截断到指定大小。

对象相关接口

对象相关接口如下所示。

表3 对象相关接口概览

接口名

方法

功能描述

示例代码源代码

流式上传

obsClient.putObject(PutObjectRequest request)

通过流式上传方式将本地文件上传至OBS指定的位置,支持上传小于5GB的文件。待上传的文件可以是任何类型:文本文件、图片、视频等。

ObjectOperationsSample

文件上传

obsClient.putObject(PutObjectRequest request)

将本地文件直接通过Internet上传至OBS指定的桶中。待上传的文件可以是任何类型:文本文件、图片、视频等。

-

获取上传进度

PutObjectRequest.setProgressListener(ProgressListener progressListener)

获取指定对象的上传进度。

-

创建文件夹

obsClient.putObject(PutObjectRequest request)

在已创建的桶中新建一个文件夹,从而更方便的对存储在OBS中的数据进行分类管理。

CreateFolderSample

设置对象元数据

obsClient.setObjectMetadata(SetObjectMetadataRequest request)

在上传对象时设置对象属性。对象属性包含对象长度、对象MIME类型、对象MD5值(用于校验)、对象存储类别、对象自定义元数据。对象属性可以在多种上传方式下(流式上传、文件上传、分段上传),或复制对象时进行设置。

ObjectMetaSample

初始化分段上传任务

obsClient.initiateMultipartUpload(InitiateMultipartUploadRequest request)

使用分段上传方式传输数据前,必须先通知OBS初始化一个分段上传任务。该操作会返回一个OBS服务端创建的全局唯一标识(Upload ID),用于标识本次分段上传任务。

SimpleMultipartUploadSample

上传段

obsClient.uploadPart(UploadPartRequest request)

初始化分段上传任务后,通过分段上传任务的ID,上传段到指定桶中。

SimpleMultipartUploadSample

合并段

obsClient.completeMultipartUpload(CompleteMultipartUploadRequest request)

通过分段上传任务的ID和对应已上传的段信息(包括PartNumber和ETag),合并成一个完整的对象。

SimpleMultipartUploadSample

取消分段上传任务

obsClient.abortMultipartUpload(AbortMultipartUploadRequest request)

通过分段上传任务的ID,取消指定桶中的分段上传任务。

-

列举已上传的段

obsClient.listParts(ListPartsRequest request)

通过分段上传任务的ID,列举指定桶中已上传的段。

ConcurrentUploadPartSample

列举分段上传任务

obsClient.listMultipartUploads(ListMultipartUploadsRequest request)

列举指定桶中所有的初始化后还未合并或还未取消的分段上传任务。

-

设置对象生命周期

obsClient.putObject(PutObjectRequest request)

OBS支持用户配置指定的规则,实现定时删除桶中的对象或者定时转换对象的存储类别,从而节省存储费用。此接口设置的对象过期时间,其优先级高于桶生命周期规则。

-

追加上传

obsClient.appendObject(AppendObjectRequest request)

对同一个对象追加数据内容。

-

断点续传上传

obsClient.uploadFile(UploadFileRequest request)

对分段上传的封装和加强,解决上传大文件时由于网络不稳定或程序崩溃导致上传失败的问题。

-

基于表单上传

obsClient.createPostSignature(PostSignatureRequest request)

使用HTML表单形式上传对象到指定桶中,对象最大不能超过5GB。

PostObjectSample

流式下载

obsClient.getObject(GetObjectRequest request)

根据需要通过流式下载将存储在OBS中的指定对象下载到本地。接口返回的ObsObject实例包含对象所在的桶、对象名、对象属性、对象输入流等内容,同时可以通过操作对象输入流将对象的内容读取到本地文件或者内存中。

DownloadSample

范围下载

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)

本接口可以在下载对象成功后返回对象的自定义元数据。

ObjectMetaSample

恢复归档存储对象

obsClient.restoreObject(RestoreObjectRequest request)

如果要下载归档存储对象,需要先将归档存储对象恢复。恢复归档存储对象的恢复选项可支持标准恢复、快速恢复。

RestoreObjectSample

断点续传下载

obsClient.downloadFile(DownloadFileRequest request)

对范围下载的封装和加强,解决下载大对象到本地时由于网络不稳定或程序崩溃导致下载失败的问题。

-

下载对象接口实现图片处理

obsClient.getObject(GetObjectRequest request)

下载图片文件时,通过传入图片处理参数对图片文件进行图片剪切、图片缩放、图片水印、格式转换等处理。

-

临时授权方式实现图片处理

obsClient.createTemporarySignature(TemporarySignatureRequest request)

通过临时授权方式传入图片处理参数,对图片文件进行图片剪切、图片缩放、图片水印、格式转换等处理。

-

设置对象元数据

obsClient.setObjectMetadata(SetObjectMetadataRequest request)

对指定桶中的对象发送HEAD请求,设置对象的元数据信息。

-

获取对象元数据

obsClient.getObjectMetadata(GetObjectMetadataRequest request)

对指定桶中的对象发送HEAD请求,获取对象的元数据信息。

-

设置对象ACLs

obsClient.setObjectAcl(SetObjectAclRequest request)

在上传对象时设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改ACL 。

ObjectOperationsSample

获取对象ACLs

obsClient.getObjectAcl(GetObjectAclRequest request)

通过接口获取指定桶中对象的ACL访问权限,返回信息包含指定对象的权限控制列表信息。

ObjectOperationsSample

列举对象

obsClient.listObjects(ListObjectsRequest request)

列举指定桶内的部分或所有对象的描述信息。还可以通过设置前缀、数量、起始位置等参数,返回符合筛选条件的对象信息。返回结果以对象名的字典序排序。

ListObjectsSample

删除对象

obsClient.deleteObject(DeleteObjectRequest request)

根据需要删除指定桶中的对象,节省空间和成本。

ObjectOperationsSample

批量删除对象

obsClient.deleteObjects(DeleteObjectsRequest deleteRequest)

根据需要批量删除指定桶中的多个对象,节省空间和成本。

批量删除对象用于将一个桶内的部分对象一次性删除,删除后不可恢复。批量删除对象要求返回结果里包含每个对象的删除结果。

DeleteObjectsSample

复制对象

obsClient.copyObject(CopyObjectRequest request)

为指定桶中的对象创建一个副本。在单次操作中,可以创建最大5GB的对象副本。

ObjectOperationsSample

分段复制

obsClient.copyPart(CopyPartRequest request)

初始化分段上传任务后,通过分段上传任务的ID,复制段到指定桶中。

ConcurrentCopyPartSample

判断对象是否存在

doesObjectExist(final GetObjectMetadataRequest request)

判断对象是否存在,返回的结果中HTTP状态码为200表明对象存在,否则返回404表明对象或桶不存在。

-

临时授权访问相关接口

临时授权访问相关接口如下所示。

表4 临时授权访问相关接口概览

接口名

方法

功能描述

示例代码源代码

通过临时URL访问OBS

obsClient.createTemporarySignature(TemporarySignatureRequest request)

通过访问密钥、请求方法类型、请求参数等信息生成一个在Query参数中携带鉴权信息的URL,可将该URL提供给其他用户进行临时访问。在生成URL时,您需要指定URL的有效期来限制访客用户的访问时长。

如果您想授予其他用户对桶或对象临时进行其他操作的权限(例如上传或下载对象),则需要生成带对应请求的URL后(例如使用生成PUT请求的URL上传对象),将该URL提供给其他用户。

TemporarySignatureSample

多版本控制相关接口

多版本控制相关接口如下所示。

表5 多版本控制相关接口概览

接口名

方法

功能描述

示例代码源代码

设置桶多版本状态

obsClient.setBucketVersioning(final SetBucketVersioningRequest request)

为指定桶设置多版本状态。在一个桶中保留对象的多个版本,可方便地检索和还原各个版本,在意外操作或应用程序故障时快速恢复数据。

BucketOperationsSample

获取桶多版本状态

obsClient.getBucketVersioning(final BaseBucketRequest request)

获取指定桶的多版本状态。

BucketOperationsSample

获取多版本对象

obsClient.getObject(GetObjectRequest request)

获取指定多版本对象。

-

复制多版本对象

obsClient.copyObject(CopyObjectRequest request)

为指定桶中的多版本对象创建一个副本。在单次操作中,可以创建最大5GB的对象副本。

-

恢复多版本归档存储对象

obsClient.restoreObject(RestoreObjectRequest request)

通过接口传入版本号,恢复多版本归档存储对象。

如果要下载归档存储对象,需要先将归档存储对象恢复。恢复归档存储对象的恢复选项可支持标准恢复、快速恢复。

-

列举多版本对象

obsClient.listVersions(ListVersionsRequest request)

列举指定桶内的部分或所有多版本对象的描述信息。还可以通过设置前缀、数量、起始位置等参数,返回符合您筛选条件的多版本对象信息。返回结果以多版本对象名的字典序排序。

ListVersionsSample

设置多版本对象权限

obsClient.setObjectAcl(SetObjectAclRequest request)

在上传多版本对象时,设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改或者获取ACL。

-

获取多版本对象权限

obsClient.getObjectAcl(GetObjectAclRequest request)

获取指定桶的获取多版本对象权限。

-

删除多版本对象

obsClient.deleteObject(DeleteObjectRequest request)

根据需要删除指定桶中的多版本对象,节省空间和成本。

-

批量删除多版本对象

obsClient.deleteObjects(DeleteObjectsRequest deleteRequest)

根据需要批量删除指定桶中的多个多版本对象,节省空间和成本。

批量删除对象用于将一个桶内的部分多版本对象一次性删除,删除后不可恢复。批量删除多版本对象要求返回结果里包含每个多版本对象的删除结果。

ListVersionsSample

生命周期管理相关接口

生命周期管理相关接口如下所示。

表6 生命周期管理相关接口概览

接口名

方法

功能描述

示例代码源代码

设置生命周期规则

obsClient.setBucketLifecycle(final SetBucketLifecycleRequest request)

为指定桶设置生命周期规则,实现定时删除桶中的对象或者定时转换对象的存储类别,从而节省存储费用。

BucketOperationsSample

获取生命周期规则

obsClient.getBucketLifecycle(final BaseBucketRequest request)

获取指定桶的生命周期规则。

BucketOperationsSample

删除生命周期规则

obsClient.deleteBucketLifecycle(final BaseBucketRequest request)

删除指定桶的生命周期规则。

BucketOperationsSample

跨域资源共享相关接口

跨域资源共享相关接口如下所示。

表7 跨域资源共享相关接口概览

接口名

方法

功能描述

示例代码源代码

设置跨域资源共享规则

obsclient.setBucketCors(final SetBucketCorsRequest request)

设置桶的跨域资源共享规则,允许客户端浏览器进行跨域请求。设置成功后,如果原规则存在则覆盖原规则。

BucketOperationsSample

获取跨域资源共享规则

obsclient.getBucketCors(final BaseBucketRequest request)

获取指定桶的跨域资源共享规则。

BucketOperationsSample

删除跨域规则

obsclient.deleteBucketCors(final BaseBucketRequest request)

删除指定桶的跨域资源共享规则。

BucketOperationsSample

桶日志相关接口

设置访问日志相关接口如下所示。

表8 桶日志相关接口概览

接口名

方法

功能描述

示例代码源代码

设置桶日志规则

obsClient.setBucketLogging(final SetBucketLoggingRequest request)

为指定桶打开桶日志功能,并配置日志存放的目标桶。桶日志功能开启后,桶的每次操作将会产生一条日志,并将多条日志打包成一个日志文件。日志文件存放到开启日志功能的桶中,也可以存放到其他您有权限的桶中,但需要和开启日志功能的桶在同一个region中。您还可以根据需要配置日志文件的访问权限,以及日志文件的文件名前缀。

BucketOperationsSample

获取桶日志规则

obsClient.getBucketLogging(final BaseBucketRequest request)

获取指定桶的日志配置。

BucketOperationsSample

静态网站托管相关接口

静态网站托管相关接口如下所示。

表9 静态网站托管相关接口概览

接口名

方法

功能描述

示例代码源代码

网站文件托管

  1. obsClient.putObject(PutObjectRequest request)
  2. obsClient.setObjectAcl(SetObjectAclRequest acl)

将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。

-

设置托管配置

obsClient.setBucketWebsite(final SetBucketWebsiteRequest request)

为指定桶设置网站配置信息。

BucketOperationsSample

获取托管配置

obsClient.getBucketWebsite(final BaseBucketRequest request)

获取指定桶的网站配置信息。

BucketOperationsSample

删除托管配置

obsClient.deleteBucketWebsite(final BaseBucketRequest request)

删除指定桶的网站配置。

BucketOperationsSample

标签管理相关接口

标签管理相关接口如下所示。

表10 标签管理相关接口概览

接口名

方法

功能描述

示例代码源代码

设置桶标签

obsClient.setBucketTagging(final SetBucketTaggingRequest request)

为桶添加标签,该桶上所有请求产生的计费话单里都会带上这些标签,从而可以针对话单报表做分类筛选,进行更详细的成本分析。

BucketOperationsSample

获取桶标签

obsClient.getBucketTagging(final BaseBucketRequest request)

获取指定桶的标签。

BucketOperationsSample

删除桶标签

obsClient.deleteBucketTagging(final BaseBucketRequest request)

删除指定桶的标签。

BucketOperationsSample

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容