使用类问题

BCC访问其他地域的BOS Bucket也是走内网吗?

BCC如果访问同一地域的BOS Bucket,会走内网;如果BCC访问的是其他地域的BOS Bucket(如:北京BCC访问广州Bucket),走的是公网,此时需要BCC绑定公网IP才能进行访问。

BOS的错误响应如何定位?

当用户访问BOS出现错误时,BOS会返回用户错误码和错误信息,便于用户定位问题。详细的错误码和错误信息解释请参见错误码

BOS支持在Bucekt下创建文件夹么?

BOS本质上是一个以Bucket为存储空间的<key, value>系统。因此管理控制台console上所展示的文件夹其实是一种“模拟文件夹”。您可以通过两种方式创建“模拟文件夹”:

  • 创建一个以“/”结尾的文件,如名为“fakeFolder/”的文件;
  • 在文件名中带上前缀,如名为“fakeFolder/img.jpg”的文件,具有相同前缀的文件会表现为在同一个模拟文件夹下。

BOS支持通过一下两种方式创建文件夹功能:

  • 通过控制台操作,请参考管理文件夹
  • 通过代码操作,请参考SDK文档Java

在使用API或SDK上传Object时,如何判断一个Object是否上传成功?

  • 使用API 上传Object时,如返回值为200,则表示上传成功,可以使用GetObjectMeta接口验证Object是否存在。
  • 使用SDK上传Object时,如没有抛出异常,则表示上传成功,可参考各SDK文档中的“获取ObjectMeta信息”验证Object是否存在。

如何进行大文件上传?

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

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

运行 PHP SDK的Sample Code时,对phpunit版本有什么要求?

要求phpunit版本为4.5.0及以上版本。

GetObject权限和READ权限的区别?

GetObject权限仅包括GetObject和GetObjectMeta两个API操作;而READ权限除了GetObject权限所含的API操作外,还包含GetBucketLocation、HeadBucket、ListParts这三个API操作。更多细节请见Bucket权限控制

如何跨bucket拷贝数据?

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

CopyObject是否支持跨region拷贝?

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

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

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

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

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)的更新。

如何对文件/文件夹重命名?

您可以在控制台上对文件进行重命名。此外,控制台即将推出文件剪切功能,未来您可以在控制台上方便的把文件在文件夹之间进行移动。如果您需要批量重命名文件,或者对某个文件夹进行重命名,您可以使用SDK来实现。首先通过ListObjects列举需要重命名的文件,然后对每个文件逐个复制,如把名为“oldfolder/cat.jpg”的图片复制到“newfolder/cat.jpg”,全部复制完成后删除源文件即可。

如何验证一个Object/Bucket是否存在?

BOS支持GetObjectMetaHeadBucket API。您可以通过这两个API来验证一个Object/Bucket是否存在。

BOS支持跨域访问吗?

BOS支持设置跨域访问(CORS),API接口参见跨域资源共享。如何在控制台上设置CORS见设置跨域访问

BOS支持防盗链吗?

BOS支持通过添加自定义权限来实现防盗链。Bucket自定义权限设置包括:

  • 允许referer为空,
  • 不允许referer为空;
  • 设置匹配的referer字符串。
  • 具体设置方法请参考设置Referer白名单

如何进行文件分享?

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

Bucket ACL和STS有什么区别?

BOS的权限可以分成两类:基于资源的权限和基于用户的权限。

  • 基于资源的权限是指控制某个资源可以被哪些人访问,Bucket ACL就是基于资源的权限。
  • 基于用户的权限是指管理某个用户可以访问哪些资源,STS临时授权就是基于用户的权限的一种。

Bucket ACL和STS的权限控制都是基于ACL文件实现。语法很接近,都支持grantee(权限授予的主体,STS由于是基于用户的权限所以不需要该字段)、permission(操作)、resource(资源)、condition(条件)等字段。

从使用场景上来说,Bucket ACL比较适合grantee是某个百度智能云账号或者全部用户(含匿名用户)的场景;STS比较适合临时授权的场景,比方说某个手机需要临时上传一张图片。

BOS如何绑定https证书?

BOS支持自定义域名开启https。(香港,香港二区不支持),设置方式:
登录“控制台-BOS对象存储-Bucket名称”,点击“发布管理-自定义域名编辑”,选择开启HTTPS配置即可。如果是香港和香港二区想要开启自定义域名https,需要利用CDN来实现,具体实现步骤是先配置bos自定义域名开启cdn加速服务,然后在CDN上配置HTTPS之后访问即可。

Bucket已经配置了跨域请求,为什么还是无法进行跨域的资源请求?

配置浏览器上的Bucket跨域(CORS)可参考CORS跨域最佳实践。如配制后不生效,一般是浏览器缓存问题,建议您清空浏览器缓存后再测试。

如何删除刚新建的Bucket?

对象存储Bucket创建后无法删除,但只要您不向BOS中上传文件或者浏览所上传的文件,是不会产生计费的。如果您是由于在使用过程中不满意导致想要关闭,建议您提交工单处理。

如何使用BOS搭建FTP服务?

BOS无法直接当作FTP使用,但是您可以通过周边工具实现下载上传的动作来模拟FTP。或者调用API接口以及SDK自行开发。