上云无忧 > 文档中心 > 百度智能云对象存储BOS断点续传下载(开发者)
对象存储BOS
百度智能云对象存储BOS断点续传下载(开发者)

文档简介:
BOS 提供了从 Object 指定的位置开始下载的功能,在下载大的 Object 的时候,可以分多次下载。如果下载中断,重启的时候也可以从上次完成的位置开始继续下载。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

概述

BOS 提供了从 Object 指定的位置开始下载的功能,在下载大的 Object 的时候,可以分多次下载。如果下载中断,重启的时候也可以从上次完成的位置开始继续下载。

和简单上传类似,您也需要对该 Object 有读权限。通过设置参数 Range 来支持断点续传,对于比较大的 Object 建议使用该功能。Range 的定义可参考 HTTP RFC。如果在请求头中使用 Range 参数,则返回消息中会包含整个文件的长度和此次返回的范围。例如:Content-Range: bytes 0–9/44,表示整个文件长度为 44 ,此次返回的范围为 0–9。

注意:

  • 对于 Range 读大小为 0 字节的对象,会返回 400 错误, Range 是前闭后闭区间。
  • 归档存储类型对象需要先取回才能调用 GetObject 接口。

操作方式

  • Java SDK
  • Python SDK
  • PHP SDK
  • C# SDK
  • Android SDK

示例

以 Java SDK 为例,通过使用 GetObjectRequest 来指定下载范围,实现更精细化地获取 Object 。如果指定的下载范围是 0 - 100,则返回第 0 到第 100 个字节的数据,包括第 100 个,共 101 字节的数据,即 [0, 100] 。

// 新建GetObjectRequest
GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, objectKey);

// 获取0~100字节范围内的数据
getObjectRequest.setRange(0, 100);

// 获取Object,返回结果为BosObject对象
BosObject object = client.getObject(getObjectRequest);

通过 getObjectRequest 的 setRange 方法可以设置返回 Object 的范围。用户也可以用此功能实现文件的分段下载和断点续传。

相似文档
  • 数据元信息(Object Meta)是对上传到 BOS 的文件的属性描述,分为两种:系统定义的 Meta 和 User Meta(用户自定义元信息)。数据元信息可以在各种方式上传时或者拷贝文件时进行设置。
  • 删除数据即删除存储空间(Bucket)中的文件(Object),BOS 允许您执行如下删除操作: 单个删除:删除某个指定的 Object。 批量删除:单次请求最多删除 1000 个 Object 。 自动删除:如果您需要删除的 Object 数目很多,而且删除的 Object 有一定的规律。
  • 拷贝数据是指在不改变原有数据内容的情况下,将某个存储空间(Bucket)内的一些数据(Object)复制到另外一个 Bucket 中。其中归档存储类型文件需要先取回,才能进行拷贝操作,并且归档类型不支持更新 meta,您可以通过BOS提供的 CopyObject 接口来实现数据的拷贝。
  • 当创建 Bucket 之后,您可以查看所拥有的 Bucket 列表,还可以从 BOS 中获取指定 Bucket 的 Object 信息列表,BOS 同时支持使用API 与使用 SDK 列出 Bucket 和 Object。
  • SelectObject 接口支持用户对 BOS 中指定格式(CSV/JSON)的 object 内容执行 SQL 语句,通过 SQL 这种结构化查询语言对 object 内容进行筛选、分析、过滤之后再返回用户需要的文件内容。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部