Bucket访问及管理
BOS如何查看Bucket域名地址?
登录BOS控制台,进入Bucket对应的概览页,可以看到官网域名和自定义域名及CDN加速情况。还可以点击“域名发布信息”的“管理”进入域名编辑模块,添加自定义域名并进行CDN加速及发布缓存的相关配置。
BCC访问其他地域的BOS Bucket也是走内网吗?
BCC如果访问同一地域的BOS Bucket,会走内网;如果BCC访问的是其他地域的BOS Bucket(如:北京BCC访问广州Bucket),走的是公网,此时需要BCC绑定公网IP才能进行访问。
BOS支持在Bucket下创建文件夹么?
BOS本质上是一个以Bucket为存储空间的<key, value>系统。因此管理控制台console上所展示的文件夹其实是一种“模拟文件夹”。可以通过两种方式创建“模拟文件夹”:
- 创建一个以“/”结尾的文件,如名为“fakeFolder/”的文件;
- 在文件名中带上前缀,如名为“fakeFolder/img.jpg”的文件,具有相同前缀的文件会表现为在同一个模拟文件夹下。
BOS支持通过一下两种方式创建文件夹功能:
BOS支持跨域访问吗?
BOS支持设置跨域访问(CORS),API接口参见跨域资源共享。如何在控制台上设置CORS见设置跨域访问。
BOS支持防盗链吗?
BOS支持通过添加自定义权限来实现防盗链。Bucket自定义权限设置包括:
- 允许referer为空,
- 不允许referer为空;
- 设置匹配的referer字符串。
- 具体设置方法请参考设置Referer白名单。
BOS如何绑定https证书?
BOS支持自定义域名开启https。(香港,香港二区不支持),设置方式: 登录“控制台-BOS对象存储-Bucket名称”,点击“发布管理-自定义域名编辑”,选择开启HTTPS配置即可。如果是香港和香港二区想要开启自定义域名https,需要利用CDN来实现,具体实现步骤是先配置bos自定义域名开启cdn加速服务,然后在CDN上配置HTTPS之后访问即可。
Bucket已经配置了跨域请求,为什么还是无法进行跨域的资源请求?
配置浏览器上的Bucket跨域(CORS)可参考CORS跨域典型实践。如配制后不生效,一般是浏览器缓存问题,建议清空浏览器缓存后再测试。
如何删除刚新建的Bucket?
对象存储Bucket创建后无法删除,但只要不向BOS中上传文件或者浏览所上传的文件,是不会产生计费的。
BOS开启CDN如何操作?
BOS目前支持使用CDN加速指定的Bucket。选择需要加速的Bukcet后,将对应Bucket的域名的DNS解析修改为CDN提供的CNAME域名,从而接入CDN节点开启CDN加速。详细操作请参考CDN加速发布。
什么是BOS的内网流量,通过BAE访问BOS的流量算不算内网流量?
同一账号同一区域的BCC,BAE与BOS默认内网互通即走内网流量,BCH暂时不支持与BOS内网互通。不同地域内网不通,需要走公网传输。
内网传输数据时,不收取流量费用,但是收取存储费用和请求费用。如果购买了存储包,存储包抵用的只是存储费用。
如果通过外网进行访问,会收取请求费用以及流量费用,如果同时开启了CDN功能,则会收取CDN费用。
BOS系统的域名被微信小程序后台屏蔽无法使用怎么办?
微信侧对于外部链接地址有访问限制,直接使用默认分配的域名在微信是无法访问的,建议绑定自定义域名后,使用自定义域名去获取资源,目前一个域名仅支持绑定一个Bucket。
如何监控BOS的流出流量?
流出流量包含外网读取量、回源流量和跨区域复制流量三部分。BOS控制台支持查看读取量,写入量,读取次数,写入次数,CDN回源流量等监控信息,监控项的具体介绍请参考统计与监控。
如何获取BOS的访问日志?
需要获取BOS的访问日志时需要先开启Bucket的访问日志功能,详细操作方法请参见设置访问日志。日志含义和格式详细描述可参考访问日志。
一个访问请求从发生到对应日志存储到目标Bucket约在2-3个小时内完成,但受网络环境等因素影响,有的日志可能会延迟较长时间才能存储到目标Bucket,请耐心等待。
绑定域名后如何访问Bucket中的数据?
BOS绑定自定义域名可以实现直接用浏览器URL访问您的Object,绑定的自定义域名需要完成备案才可以正常访问的,绑定一般3分钟生效。绑定域名的详细操作参见绑定Bucket域名。
如何查看哪些网站引用了BOS的链接?
BOS暂不支持查看具体的链接引用信息。如果不希望其他人引用BOS链接,可通过BOS控制台设置Referer字段的白名单。设置白名单后,只有Referer字段在白名单内的用户才可访问Bucket中存储的数据,不在白名单内的请求会被拒绝。但若Referer为空时,默认可访问,不受白名单限制。详细配置参考防盗链。
外网流出流量中能否看到具体是哪个文件产生的流量?
目前有两种方式可以确认:
- 通过设置并查看日志进行确认。
- 查看统计分析-热点分析,指定对应的Bucket确认即可。
详细操作请查看统计与监控。
BOS是否可以在线解压?
BOS目前支持在线解压功能,您需要先在BOS控制台--事件通知中配置好解压规则,上传压缩包匹配到规则就会自动触发解压,详细请参考:文件自动解压。
如何让CDN访问BOS中的其中一个私有BUCKET?
可以通过设置私有Bucket回源来实现,详细的操作请参考回源配置。
BOS私有bucket临时访问文件权限问题?
私有权限文件生成有有效期时间的临时访问url,
1.您可以通过控制台文件信息中获取到
2.您可以通过sdk获取临时url。
参考文档:获取临时url(可自定义了访问地址的过期时间)
BOS内不同的bucket可以绑定同一个自定义域名吗?
同一自有域名仅可以绑定一个bucket,但是一个bucket可以绑定20个不重复的域名。自定义域名更多使用参考:https://cloud.baidu.com/doc/BOS/s/ckaqihkra
BOS支持挂载到windows环境吗?
BOS对象存储支持挂载到您的服务器上,不过仅支持linux系统的服务器,Windows系统暂不支持,具体流程您可参考bosfs这个工具的教程安装bosfs挂载Linux服务器。
微信不能直接访问BOS的文件地址?
BOS的访问地址可能会被微信屏蔽,您可以在百度智能云控制台绑定您自定义的域名,通过您的自有域名链接即可访问,请参考自定义域名:https://cloud.baidu.com/doc/BOS/s/ckaqihkra
对象存储可以映射到我们本地的服务器吗?
目前BOS并不支持webdav和smb,无法在Windows环境挂载。BOS仅针对linux系统提供了bosfs进行挂载映射。在windows系统中操作上传,您可以参考使用,如:bos桌面、bcecmd等,具体请参考:BOS周边工具。
对象存储BOS,前端使用js上传视频之后,能获得这个视频的时长吗,比如一个30分钟的视频?
对象存储BOS中,并不支持获取音视频文件的时长。
BOS android sdk是否支持断点续传?
对象存储中,Android SDK并不支持断点续传,支持断点续传的SDK,如下:Java SDK、Python SDK、PHP SDK、Ruby SDK、C++ SDK。
如何获取bos资源访问地址?
对象存储BOS中,可以通过以下方式获取对应文件访问URL地址:
-
方式1: 通过BOS管理控制台--Bucket列表--文件列表--文件信息--复制链接
-
方式2: 手动拼接URL
a) bucket公共读权限:http://<bucketname>.<region>.bcebos.com/<objectname>
b) bucket私有权限:http://<bucketname>.<region>.bcebos.com/<objectname>?authorization=<authorization>
注:需要替换bucketname、region、objectname、authorization(需要结合getobject接口进行生成鉴权)
- 方式3: 通过SDK进行获取URL,例如:java sdk
请问BOS的API是否支持下载某个目录下所有的文件?
您好,BOS API接口暂是没有下载目录下所有object的功能,需要您先进行listobject接口获取目录下资源文件列表,然后再通过getobject下载文件。
listobject参考文档:ListObjects
getobject参考文档:GetObject
对象存储BOS,Bucket名称被他人占用,能否重复创建?
对象存储BOS的Bucket名称遵循全局唯一规则,被其他用户创建后,无法再重复创建。
能获取存储对象的【访问链接】吗?
对象存储BOS中,可以通过以下方式获取对应文件访问url地址:
方式1: 通过BOS管理控制台--Bucket列表--文件列表--文件信息--复制链接
方式2: 手动拼接url
a) bucket公共读权限:http://<bucketname>.<region>.bcebos.com/<objectname>;
b) bucket私有权限:http://<bucketname>.<region>.bcebos.com/<objectname>?authorization=<authorization>;
注:需要替换bucketname、region、objectname、authorization(需要结合getobject接口进行生成鉴权)
方式3: 通过sdk进行获取url,例如:java sdk
BOS的文件如何批量下载?
对象存储BOS可以通过以下方法进行批量下载:
- 使用BOS周边工具,如:BOS桌面,Bcecmd等;
- 使用API/SDK进行ListObject,再循环调用GetObject接口进行下载。
下载BOS内的文件是否如何验证文件完整性?
您可以使用getobject接口或者getobjectmate接口,返回值中有etag参数,然后您在本地计算您文件的MD5值,和bos返回的etag值进行比对,来验证文件的完整性。参考文档:BOS API文档
如何更新文件内容,但保持bos文件地址不变?
对象存储BOS中,可以通过上传相同文件名文件,进行覆盖源站文件,其访问url就可以保持不变。
不计算签名认证信息,是否可以长久的访问对象?
对象存储BOS中,可以设置Bucket权限为公共读后,获取的访问url就不会携带authorization鉴权信息,且可以永久访问。
请问有提供批量上传和下载多个object的SDK么?
对象存储BOS中,并不支持批量上传或者批量下载object接口,可以通过上传或者下载接口,在业务层进行实现。
文件上传成功后,如何获取上传的这个文件大小?
对象存储BOS中,提供了GetObjectMeta接口,可以获取文件大小等信息。
上海区域bucket是否支持https?
对象存储BOS服务中,仅支持北京、广州、苏州区域绑定https证书,而其他区域并不支持。
文件下载/如何生成访问链接?
对象存储BOS提供了下载Object API接口。
上传到BOS中的资源,如何自动到CDN中?
对象存储BOS服务,提供了“缓存管理”功能,其可以把上传的资源,自动预加载到CDN缓存,或者更新CDN缓存数据。
私有文件如何获取访问链接?
对象存储BOS服务,当Bucket设置为私有权限后,可以通过以下方式进行获取访问url:
BOS开启了CDN加速,点击复制的链接为什么不是CDN地址?
BOS内默认都会是BOS官方的链接。如需CDN的链接,可以点击文件信息,然后选择CDN链接。
在BOS管理控制台中如何重命名文件?
可以通过以下两种方式进行处理:
- 在BOS管理控制台-bucket文件列表-更多-重命名,具体请参考:重命名文件
- 调用bos api/sdk接口进行重命名,如:通过copyobject接口进行重命名文件,再通过deleteobject删除原始文件即可。请参考:CopyObject接口 DeleteObject接口
BOS bucket如何通过自己的域名访问?
目前bucket是支持绑定自定义域名,可以通过自定义域名进行访问。具体请参考:创建bucket自定义域名。
如何删除bucket回收站所有资源?
您可以在管理控制台中查看回收站所在目录,再通过bos周边工具进行删除对应目录下数据即可,如:bcecmd,具体请参考:删除object 。
BOS修改bucket的属性,从公共读到私有,这个设置是立即生效的吗?
是的,bucket的权限修改后是立即生效的。
bucket配置生存周期后,多久生效?
目前配置bucket生命周期后,正常是在24小时内生效,具体请参考:注意事项 。
sts token最长有效时间是多少?
目前sts生成token的最长有效时间是129600秒(36小时),具体请参考:sts服务接口。
想设置某些用户只访问指定的bucket,其他bucket也看不到,该如何设置?
可以通过配置多用户访问控制,进行控制不同用户的操作查看权限,具体请参考:配置多用户访问控制 。
是否支持针对每个不同用户设置不同的bucket权限?
目前bos支持设置多用户访问控制,可以针对每个不同的用户授予不同的操作权限,具体请参考:配置多用户访问控制 。
子用户创建bucket失败,显示无权限怎么处理?
目前子用户针对对象存储Bos服务进行操作,需要授予对应的操作权限,具体权限设置请参考:配置多用户访问控制。
bucket只允许内网访问怎么设置?
对象存储BOS提供了IP白名单功能,可以指定允许的IP地址进行访问。
bucket误设置禁止所有人访问怎么恢复?
对象存储BOS控制台Bucket权限设置可设置禁止所有人访问(设置时有如图提示),设置后会导致控制台无法正常访问该bucket。
修复方式:
- 使用API方式
百度智能云API Explorer工具提供页面调用API功能,可在线快速实现相关API调用。将全部拒绝权限修改为私有权限示例
更多权限修改信息参考BOS API权限控制。 - 使用SDK方式
以Python SDK为例,将全部拒绝权限修改为私有权限
bos_client.set_bucket_canned_acl(bucket_name, canned_acl.PRIVATE)
- 使用BOSCMD工具
首先使用命令bcecmd -c yourConfPath
配置相关参数:ak、sk、region、domain、AutoSwitchDomain
等等。此时region、domain
参数必须和要修改权限bucket的region、domain
一致,而参数AutoSwitchDomain=no
,配置完成后执行如下命令即可将全部拒绝权限修改为私有权限。
bcecmd --conf-path yourConfPath bosapi put-bucket-acl --bucket-name bucket1 --canned private
更多权限修改请参考设置Bucket ACL。
注意:以上三种恢复方式使用的AK-SK必须是主账号AK-SK。