# OBS BrowserJS SDK ## API参考 - [简介](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0001.md): 本文档提供了对象存储服务OBS(Object Storage Service) BrowserJS SDK所有接口的描述、方法定义及参数说明等内容。如果您想了解OBS BrowserJS SDK的端到端使用方法(如安装、初始化、开发、常见问题),以及各接口的具体使用场景,各场景的代码样例等更丰富的信息,请参考《对象存储服务BrowserJ - [OBS客户端初始化](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0101.md): OBS客户端(ObsClient)是访问OBS服务的BrowserJS客户端,它为调用者提供一系列与OBS服务进行交互的接口,用于管理、操作桶(Bucket)和对象(Object)等OBS服务上的资源。 - [日志初始化](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0102.md): 通过开启SDK日志功能,可将接口调用过程中产生的日志信息记录到日志文件,用于后续的数据分析或问题定位。 - [请求对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0103.md): 调用OBS客户端的相关接口均需要传入请求对象(Object类型)作为输入。对于桶操作接口,请求对象中固定包含Bucket字段用于指定桶名;对于对象操作接口,请求对象中固定包含Bucket字段和Key字段分别用于指定桶名与对象名。 - [SDK公共结果对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0104.md): 调用OBS客户端的相关接口完成后,如果未发生异常,则均会返回公共结果对象。 - [回调函数返回结果](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0105.md): OBS客户端可通过回调函数的形式返回结果,回调函数依次包含异常信息和SDK公共结果对象两个参数。如果回调函数中异常信息参数不为空,则表明接口调用异常;反之,则表明接口调用完成,此时应从SDK公共结果对象中获取HTTP状态码,判断操作是否成功。本示例用于上传字符串“Hello OBS”到桶名为“bucketname”里,名称为“object - [Promise对象返回结果](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0106.md): OBS客户端可通过Promise对象返回结果,如果通过Promise对象的catch方法没有捕获到异常,则表明接口调用完成,此时应从SDK公共结果对象中获取HTTP状态码,判断操作是否成功。本示例用于上传字符串“Hello OBS”到桶名为“bucketname”里,名称为“objectkey”。代码示例如下所示: - [权限类型](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0201.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [可被授权的类型](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0202.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [可被授权用户组](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0203.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [预定义访问策略](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0204.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [存储类型](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0205.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [恢复选项](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0206.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [元数据复制策略](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0208.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [使用前需知](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0301.md): 由于浏览器跨域问题,调用桶相关接口前,需要首先配置桶的CORS,如下:设置允许的请求来源为:*设置允许的HTTP方法为:PUT、GET、POST、DELETE、HEAD设置允许请求中可携带的头域为:*设置允许响应中可返回的附加头域为:ETagx-obs-request-idx-obs-id-2x-reserved-indicatorx-o - [判断桶是否存在](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0302.md): 判断桶是否存在,如果返回的结果中HTTP状态码为200则表明桶存在,如果返回404则表明桶不存在。 - [删除桶](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0303.md): 删除桶,待删除的桶必须为空(不包含对象、历史版本对象或分段上传碎片)。 - [列举桶内对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0304.md): 列举桶内对象,默认返回最大1000个对象。 - [列举桶内多版本对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0305.md): 列举桶内多版本对象,默认返回最大1000个多版本对象。 - [列举桶内分段上传任务](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0306.md): 列举指定桶中所有的初始化后还未合并或还未取消的分段上传任务。 - [获取桶元数据](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0307.md): 对桶发送HEAD请求,获取桶的元数据信息。 - [获取桶区域位置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0308.md): 获取桶所在的区域位置。 - [获取桶存量信息](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0309.md): 获取桶的存量信息,包含桶的空间大小以及对象个数。 - [设置桶配额](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0310.md): 设置桶的配额值,单位为字节,支持的最大值为263-1,配额值设为0表示桶的配额没有上限。 - [获取桶配额](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0311.md): 获取桶的配额值,0代表配额没有上限。 - [设置桶存储类型](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0312.md): 设置桶的存储类型,桶中对象的存储类型默认将与桶的存储类型保持一致。 - [获取桶存储类型](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0313.md): 获取桶的存储类型。 - [设置桶ACL](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0314.md): 设置桶的访问权限。Owner和Grants必须配套使用,且与ACL互斥。当设置了这两个字段时,不能设置ACL;反之,当设置了ACL时,不能设置Owner和Grants。Owner、Grants与ACL不能全为空。 - [获取桶ACL](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0315.md): 获取桶的访问权限。 - [设置桶日志管理配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0316.md): 设置桶的访问日志配置。 - [获取桶日志管理配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0317.md): 获取桶的访问日志配置。 - [设置桶策略](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0318.md): 配置桶的策略,如果桶已经存在一个策略,那么当前请求中的策略将完全覆盖桶中现存的策略。Policy中的Resource字段包含的桶名必须和当前设置桶策略的桶名一致。 - [获取桶策略](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0319.md): 获取桶的策略。 - [删除桶策略](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0320.md): 删除桶的策略。 - [设置桶的生命周期配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0321.md): 配置桶的生命周期规则,实现定时转换桶中对象的存储类型,以及定时删除桶中对象的功能。Transition、Expiration、NoncurrentVersionTransitions、NoncurrentVersionExpiration不能全为空。 - [获取桶的生命周期配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0322.md): 获取桶的生命周期规则。 - [删除桶的生命周期配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0323.md): 删除桶所有的生命周期规则。 - [设置桶的Website配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0324.md): 设置桶的Website配置。ErrorDocument、IndexDocument和RoutingRules必须配套使用,且与RedirectAllRequestsTo互斥。当设置了这三个字段时,不能设置RedirectAllRequestsTo;反之,当设置了RedirectAllRequestsTo时,不能设置ErrorDocumen - [获取桶的Website配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0325.md): 获取桶的Website配置。 - [删除桶的Website配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0326.md): 删除指定桶的Website配置。 - [设置桶的多版本状态](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0327.md): 设置桶的多版本状态。 - [获取桶的多版本状态](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0328.md): 获取桶的多版本状态。 - [获取桶的CORS配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0329.md): 获取指定桶的跨域资源共享规则。 - [删除桶的CORS配置](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0330.md): 删除指定桶的跨域资源共享规则。 - [设置桶标签](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0333.md): 设置桶的标签。 - [获取桶标签](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0334.md): 获取指定桶的标签。 - [删除桶标签](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0335.md): 删除指定桶的标签。 - [使用前需知](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0401.md): 由于浏览器跨域问题,调用对象相关接口前,需要首先配置其所在桶的CORS,如下:设置允许的请求来源为:*设置允许的HTTP方法为:PUT, GET, POST, DELETE, HEAD设置允许请求中可携带的头域为:*设置允许响应中可返回的附加头域为:ETagContent-TypeContent-LengthCache-ControlCo - [上传对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0402.md): 上传单个对象到指定桶中。Body与SourceFile不能同时使用。当Body与SourceFile都为空时,上传对象的大小为0字节。 - [追加上传](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0403.md): 对同一个对象追加数据内容。Body与SourceFile不能同时使用。当Body与SourceFile都为空时,上传对象的大小为0字节。 - [下载对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0404.md): 下载指定桶中的对象。如果包含IfUnmodifiedSince并且不符合或者包含IfMatch并且不符合,抛出异常中HTTP状态码为:412 precondition failed。如果包含IfModifiedSince并且不符合或者包含IfNoneMatch并且不符合,抛出异常中HTTP状态码为:304 Not Modified。 - [复制对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0405.md): 为指定桶中的对象创建一个副本。如果包含CopySourceIfUnmodifiedSince并且不符合,或者包含CopySourceIfMatch并且不符合,或者包含CopySourceIfModifiedSince并且不符合,或者包含CopySourceIfNoneMatch并且不符合,抛出异常中HTTP状态码为:412 precond - [删除对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0406.md): 删除指定桶中的对象。 - [批量删除对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0407.md): 批量删除指定桶中的多个对象。 - [获取对象元数据](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0408.md): 对指定桶中的对象发送HEAD请求,获取对象的元数据信息。 - [设置对象ACL](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0409.md): 设置指定桶中对象的访问权限。Owner和Grants必须配套使用,且与ACL互斥。当设置了这两个字段时,不能设置ACL;反之,当设置了ACL时,不能设置Owner和Grants。Owner、Grants与ACL不能全为空。 - [获取对象ACL](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0410.md): 获取指定桶中对象的访问权限。 - [初始化分传段任务](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0411.md): 在指定桶中初始化分段上传任务。 - [上传段](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0412.md): 初始化分段上传任务后,通过分段上传任务的ID,上传段到指定桶中。除了最后一段以外,其他段的大小范围是100KB~5GB;最后段大小范围是0~5GB。上传的段号也有范围限制,其范围是1~10000。Body与SourceFile不能同时使用。当Body与SourceFile都为空时,上传对象的大小为0字节。Offset、PartSize和S - [复制段](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0413.md): 初始化分段上传任务后,通过分段上传任务的ID,复制段到指定桶中。 - [列举已上传的段](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0414.md): 通过分段上传任务的ID,列举指定桶中已上传的段。 - [合并段](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0415.md): 通过分段上传任务的ID,合并指定桶中已上传的段。 - [取消分段上传任务](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0416.md): 通过分段上传任务的ID,取消指定桶中的分段上传任务。 - [恢复归档存储对象](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0417.md): 恢复指定桶中的归档存储对象。 - [生成带授权信息的URL](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0501.md): 通过访问密钥、请求方法类型、请求参数等信息生成一个在Query参数中携带鉴权信息的URL,以对OBS服务进行特定操作。 - [生成带授权信息的表单上传参数](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0502.md): 生成用于鉴权的请求参数,以进行基于浏览器的POST表单上传。使用SDK生成用于鉴权的请求参数包括两个:Policy,对应表单中policy字段。Signature,对应表单中的signature字段。 - [断点续传上传](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0503.md): 对分段上传的封装和加强,支持反馈上传进度、反馈上传事件、任务暂停和任务续传。