迁移时间
2015/03/30 ~ 2015/06/30
产品变化
产品首页
控制台入口
帮助文档
- BCS:http://developer.baidu.com/wiki/index.php?title=docs/cplat/stor
- BOS: http://console.bce.baidu.com/doc/#/doc/product~serviceType=BOS&file=ProductDescription
客户支持
- BCS:http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/feedback
- BOS:http://ticket.bce.baidu.com/#/ticket/list
账单
计费标准
- BCS:http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/pricing
- BOS:http://bce.baidu.com/doc/BOS/Pricing.html
付费方式
- BCS:后付费,每周会出账单,然后在三周内用户需要完成支付。
- BOS:提前在开放云中充值,按使用量扣款。
功能变化
域名绑定 & 静态网站托管
- BCS:用户发邮件来申请,详见百度开放云-云存储 Q&A
- BOS:开发者在console上面操作,具体操作如下:
1. 在http://console.bce.baidu.com/ws/#/website/list 上的域名验证部分验证您的域名。
2. 通过http://console.bce.baidu.com/bos/#/bos/list 上的Bucket列表右边域名绑定,绑定您通过验证的网站。
CDN
- 申请方式:BCS中,CDN在Console上面申请,并且需要等待人工审批。BOS中CDN在Console上面申请,自动审批。
- 域名:BCS会提供CDN域名,供开发者直接使用。BOS的CDN不提供自己的域名,需要开发者自己提供已经备案的域名。
Superfile
BCS中,Superfile的子Object可以单独下载。BOS中的子Object不能能直接下载,但是可以通过Range的方式来下载。
Policy
BOS暂不支持Object Policy,且不支持对目录等资源设置Policy。
迁移方案
总体方案
1. 开发者在百度开放云中注册账号,并且开通BOS服务。
2. 开发者申请迁移BCS数据到BOS,申请的具体方式见申请迁移部分。
3. 百度开放云在后台把BCS的数据迁移到BOS中同名的bucket里面。
4. 开发者使用BOS SDK/API修改自己的应用,网站,并且在BOS上面测试通过,然后发布自己的应用/网站。
申请迁移
开发者在开放云的工单系统中创建一个工单,提交申请迁移BCS的数据到BOS,申请格式如下:
- 问题类型:存储和CDN/对象存储BOS
- 问题特征描述:可忽略
- 问题标题:申请迁移BCS数据到BOS
- 问题描述:格式如下
- Bucket列表: bucket_name1, bucket_name2,…. - BCS账号:(您注册BCS的邮箱或者手机) - BCS AK: - BCS SK: - BOS AK: - BOS SK: - 手机:(能联系到您的手机) - 邮箱:(能联系到您的邮箱)
百度开放云会保证您的数据不被泄露且AK/SK不被泄露。一般建议在迁移完成之后,您可以重置你的AK/SK。
注:
- 如果由于一些原因,您并不希望百度开放云来帮你迁移数据,而是希望自己做数据迁移,请同样提交一个迁移的工单,并且在工单中注明自己迁移数据。由此产生的费用,需要您自己承担。
- 百度开放云迁移数据是免费的。
数据迁移
数据迁移工作有百度开放云在后台为你迁移你的数据,数据迁移的时间上的一些保证如下:
1. 静态数据(提交迁移申请之前上传到BCS的数据)会在开放云确认完成迁移的时候,全部迁移到BOS中。
2. 动态数据(提交迁移申请之后上传到BCS的数据)在开放云确认迁移完成之后,大约一小时以内会同步到BOS中。
业务迁移
API不兼容
- BOS API: http://bce.baidu.com/doc/BOS/API.html
- BCS API: http://developer.baidu.com/wiki/index.php?title=docs/cplat/stor/api
命名规则
BCS中对Bucket和Object的命名没有明确的规定。 BOS要求如下:
- Bucket格式要求:
- 只能包括小写字母,数字和连字符“-”。 - Bucket名开头和结尾必须是小写字母或数字。 - 长度为3~63位。
- Object格式要求:长度不能超过1024个字节的UTF-8字符。
签名算法
为了更好的保证用户的数据安全,防止非法的访问,BOS对BCS的签名算法做了比较大的改进,对更多的Header和Querystring做了签名,详情参见新的签名算法见
API响应
API响应的接口和BCS中有较大的区别,详情参见API接口。
Superfile
1. BCS上传Superfile需要两步,BOS上传Superfile需要三步。
2. BCS中,每个子Object可以下载,BOS子Object不能直接被下载(可以通过Range的方式下载)。
SDK和命令行工具
BCS中提供Java,PHP,Python,C++四种语言的SDK,且提供Linux的Shell工具。
BOS目前已经提供Java SDK及Python SDK。
PHP SDK和命令行工具即将发布,IOS/Android等更多SDK也在不久的未来将会支持。
Proxy
在迁移的过程中,用户新增的数据会需要一段时间才能同步到BOS,开放云提供一个Proxy来解决这种问题。
bos_bcs_proxy实现兼容BOS的GetObject接口,它会优先读取BOS,在BOS中数据不存在的时候,会去从BCS中读取数据并且修返回兼容BOS的响应。
bos_bcs_proxy的访问速度将会比直接访问BOS略低,且在迁移完成之后,bos_bcs_proxy将会下线。
数据正确性和完整性保证
开放云会保证数据完整且正确的迁移到BOS,我们在数据迁移完成之后,会做以下两个方面的校验:
- 数据正确性校验:BCS和BOS中的数据读取到的数据内容是完全一致的。
- 数据完整性:在BCS中的数据都能在BOS中查询到。
在完成迁移之后,开放云会把迁移的Object的列表放到您对应的Bucket下面,如果有需要可以自行验证。