对象存储BOS

    Object上传下载及管理

    BOS支持自定义文件属性吗?

    BOS支持系统Meta和自定义Meta。系统Meta是由BOS维护的Meta信息如Content-Length、Last-Modified。自定义Meta是以”x-bce-meta-“开头的<key,value>对。您可以通过自定义meta来保存您希望存储的额外文件属性如x-bce-meta-owner: xiaoming。

    如何更新Meta信息,例如Content-type?

    您可以通过CopyObject来实现Meta信息更新。只需要把目标文件设为跟源文件一致,并加入您需要更新/添加的Meta信息即可。此外,控制台即将推出设置Meta功能,未来您可以在控制台console上完成Meta信息(如Content-Type)的更新。

    如何进行文件分享?

    BOS支持文件分享,即获取Object文件的链接然后进行分享。对于私有bucket,您可以在控制台或者通过SDK生成一个有时效性的临时分享链接。通过控制台生成分享链接见下载Object,通过SDK生成临时分享链接可参考Java sdk的获取Object的URL

    PutObject、PostObject、AppendObject和MultipartUpload这几种上传接口的区别是什么?

    这几种上传接口都可以实现文件上传。其主要区别如下:

    • PutObject通常用于小文件上传。
    • PostObject主要用于浏览器环境下的上传。
    • AppendObject主要用于增量上传场景,如监控录像实时上传、日志传输等。Appendable的文件随时可以查看。
    • MultipartUpload主要用于大文件上传。MultipartUpload通过把大文件分块然后逐块上传,大幅度提高上传成功率和上传速度。需要注意的是,MultipartUpload在上传完成(commit)前是无法通过ListObjects查看该文件的。

    CopyObject是否支持跨region拷贝?

    CopyObject支持跨region拷贝Object。当进行跨区域Object复制时,复制产生的流量会收取跨区域流量费,跨区域收费标准参见产品定价

    如何跨bucket拷贝数据?

    BOS支持CopyObject的API接口实现数据拷贝。为了便于您的使用,BOS console、CLI、SDK均封装了该接口。 当您有大量文件需要进行跨bucket拷贝时,您可以通过SDK来实现:首先通过ListObject获取需要拷贝的文件列表,然后用CopyObject执行拷贝。 需要注意的是,执行CopyObject需要您拥有源文件的读权限和目标文件的写入权限。如果目标bucket是另一个用户所有,您可以让bucket所有者为其bucket设置ACL来允许您的写入操作。更多细节请见Bucket权限控制

    如何进行大文件上传?

    BOS的文件上传方案由数据传输服务(Data Import,俗称“寄盘”),命令行工具CLI,SDK和Console组成。

    • 当文件非常多,通过网络上传变得不可行时,推荐通过Data Import服务进行上传。Data Import服务提供通过邮寄硬盘的方式快速完成数据导入。如果对此感兴趣,请通过提交工单咨询。
    • 如果文件数量适中,或者网络上行带宽条件较好,您可以考虑通过CLI进行文件上传。CLI支持大文件断点续传。如何使用CLI进行上传请参考BCE CLI。CLI基于BOS Python SDK封装而成,如果您需要在其他语言环境下进行文件上传,也可以通过BOS SDK编写上传代码。
    • 当文件数量较小时,您也可以直接通过管理控制台Console上传。

    如何批量删除BOS中的文件?

    BOS支持多种方式批量删除。

    • 登录控制台并选中多个文件批量删除。
    • BOS提供了批量删除的API接口DeleteMultipleObjects接口,可以实现通过一个HTTP请求删除同一个Bucket下的多个Object。
    • 可以通过工具BOS CMD进行批量删除,详细操作指导请参考删除Object

    如何快速查看Bucket中是否存在某个文件?

    可以通过Listobjects接口进行循环判断。

    BOS是否支持断点续传?

    BOS使用控制台上传文件时不支持断线续传,但BOS提供的API接口、SDK及工具都支持断点续传。

    如何将标准BOS修改为低频BOS?

    生命周期管理可以转换存储类型从标准存储到低频存储,BOS生命周期规则设置后会在一天内生效。规则生效后,BOS会对符合条件的Object进行相应的处理,但处理需要一定的时间(一般情况下为几小时),所以设置规则后不一定能马上看到效果。规则中计算的时间(即Object的“年龄”)以Object的创建时间为准,而不是生命周期规则的创建/修改时间。BOS只保存文件的最后修改时间,即last-modified时间;如果不更新meta或者覆盖文件,那么last-modified就是创建时间。所以生命周期中的“创建时间”其实是last-modified时间。详细操作方法请参考管理生命周期

    BOS如何上传下载文件或者文件夹?

    BOS支持以下多种方式上传文件:

    1. 控制台直接上传Object
    2. 使用APISDK进行上传下载,其中文件夹上传可以参见模拟文件夹功能
    3. 使用周边工具进行上传下载。Windows系统上传文件夹功能可以通过BOS桌面工具实现。

    控制台最大支持上传5G的数据,批量上传下载或超过5G的大文件建议使用SDK或周边工具。

    如何设置文件的Header属性?

    可以通过Copyobject接口进行设置。其中CopyObject接口只能修改userMeta,需要您在上传时设置好content-type。

    是否支持浏览器上传文件?

    可以使用bce bos uploader工具实现,详细操作请参考web端直传实践

    BOS误删除的数据是否可以找回?

    用户可以通过配置Bucket的回收站功能,保证删除后的数据在回收站内继续保留,用于后续对删除数据的找回。默认情况下,Bucket的回收站功能为关闭状态,详细描述请参见回收站

    如何设置才能直接浏览Object而不是下载?

    如果想要设置访问BOS的资源是查看而不是直接下载,可以通过设置Object的Meta信息来指定,具体介绍和操作请参考设置Object的meta

    BOS文件上传后能否自动进行MD5校验?

    如果是想要校验上传文件的完整性,API中可以使用content_md5参数进行文件数据校验。设置后BOS会启用文件内容MD5校验,把提供的MD5与文件的MD5比较,不一致会提示错误。详细描述请参考PutObject接口。使用分块上传时,建议在分块上传中使用每个分块BOS返回的Content-MD5值分别验证已上传分块数据的正确性。当所有分块数据合成一个Object后,不再含MD5值。

    BOS提供的SDK均支持MD5校验,以JAVA为例,详细描述请参考文件管理

    BOS如何获取缩略图?

    目前BOS没有提供获取存储录像封面及缩略图的接口。如果想要获取封面建议使用VOD,具体接口参考查询指定媒资

    如何在ListObjects接口同时获取Object的User和Meta信息?

    如果想要批量获取Object的User和Meta信息,可以使用GetObjectMeta接口

    BOS的Object获取地址能否用自定义域名?

    可以使用自定义域名绑定Bucket后访问,详细操作请参考绑定Bucket域名

    一篇
    Bucket访问及管理
    一篇
    API&SDK&工具