您的位置:首页 > 其它

BCS百度云存储无法创建bucket解决篇 以及API接口的使用

2014-10-06 18:33 357 查看
前言:时下云计算早已如火如荼,paas(平台即服务)技术趋于基础,百度云日渐成熟,具有很大的潜力。

个人觉得百度云官网文档还是很高大上的,对我起了很大的帮助,但是一些细节和问题(比如bucket无法创建)都令我很郁闷,因此小弟在本篇文章中结合官方文档再做一些更适合入门的文章补充。并且小弟本人在网上参考广大好友的经验在此叙说一下个人遇到的问题,发表一些入门心得,也是对自己实践的总结,希望对大家有用。

另外本文难免有所疏漏,欢迎大家的指正。

正文:

第一步:成为百度云开发者

要想利用百度云提供的接口和服务,理所当然,先成为百度开发者,实际上只要有百度账号(百度帖吧,百度网盘共用的一个号)就够了。

点击右方链接,上面有图文详解:http://jingyan.baidu.com/article/25648fc1defccd9190fd004f.html

第二步:在百度云平台上创建自己的应用

参考官方文档:

点击http://developer.baidu.com/wiki/index.php?title=docs/pcs/guide/app_create打开链接

第三步:如何利用云存储

我么分三步来说明问题:

1.要实现自己的代码和百度云的连接,总有一个东西作为桥梁,百度提供了一个bucket(木桶)其带有两个密码:AK和SK,

你可以在代码中加入对应的bucket(附带Ak和Sk)实现与百度云存储的连接,实现上传和下载的功能。

下面说一下如何在存储里创建bucket,先看一下官方文档的步骤如下连接:

http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/console2.0

但你会发现无法创建bucket!!!!!!!!!!!!!!

其实百度云官方给的步骤是对的。

但------------百度云最坑的地方:

一定要在旧版控制台界面创建bucket!因为新版百度云平台没有这个功能,旧版的所有功能还没有完全搬迁到新界面上!!!!!!!!!

打开旧版控制中心链接:http://developer.baidu.com/bae/bcs/bucket/

一定要在此按照官方步骤创建bucket!

2.获取java-sdk的jar包,导入eclipse

跨过上一步百度云比较坑的坎,接下来相信都是很简单的了。

点击获取Java-sdk-jar包,获取下载成功后,导入eclipse工程即可,这里不再详细展开。

http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/sdk

3.编写代码,实现自己写的Java代码和百度云存储的bucket的连接,上传下载文件。

java代码:参考勤奋的asialee的博客

<spanstyle="font-size:14px;">importjava.io.ByteArrayInputStream; importjava.io.IOException; importcom.baidu.inf.iis.bcs.BaiduBCS; importcom.baidu.inf.iis.bcs.auth.BCSCredentials; importcom.baidu.inf.iis.bcs.model.ObjectMetadata; importcom.baidu.inf.iis.bcs.model.X_BS_ACL; importcom.baidu.inf.iis.bcs.request.CreateBucketRequest; importcom.baidu.inf.iis.bcs.request.PutObjectRequest; publicclassCloudStorage{ <prename="code"class="java"style="font-size:18px;">privatefinalstaticStringBUCKET="photo-bucket";//一定是你的bucket名称 privatefinalstaticStringAK="AK";//你的bucket的附带的AK和SK码 privatefinalstaticStringSK="SK"; privatefinalstaticStringHOST="bcs.duapp.com";//百度云存储的主机名称 privatefinalstaticBaiduBCSBAIDU_BCS=newBaiduBCS(newBCSCredentials(AK,SK),HOST); publicstaticvoidupload(StringfileName,byte[]contents)throwsIOException{ ObjectMetadataobjectMetadata=newObjectMetadata(); objectMetadata.setContentEncoding("utf-8"); objectMetadata.setContentLength(contents.length); PutObjectRequestrequest=newPutObjectRequest(BUCKET,fileName, newByteArrayInputStream(contents),objectMetadata); booleanisExist=BAIDU_BCS.doesObjectExist(BUCKET,fileName); if(isExist){ System.out.println("文件已经存在!"); return; } BAIDU_BCS.putObject(request); } publicstaticvoidmain(String[]args)throwsIOException{ StringfileName="/aaaa/我是中文"; for(inti=0;i<10;i++){ upload(fileName+"_"+i+".txt","测试一下中文1111".getBytes()); } } }</span>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐