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>
个人觉得百度云官网文档还是很高大上的,对我起了很大的帮助,但是一些细节和问题(比如bucket无法创建)都令我很郁闷,因此小弟在本篇文章中结合官方文档再做一些更适合入门的文章补充。并且小弟本人在网上参考广大好友的经验在此叙说一下个人遇到的问题,发表一些入门心得,也是对自己实践的总结,希望对大家有用。
另外本文难免有所疏漏,欢迎大家的指正。
正文:
第一步:成为百度云开发者
要想利用百度云提供的接口和服务,理所当然,先成为百度开发者,实际上只要有百度账号(百度帖吧,百度网盘共用的一个号)就够了。
点击右方链接,上面有图文详解:
第二步:在百度云平台上创建自己的应用
参考官方文档:
第三步:如何利用云存储
我么分三步来说明问题:
1.要实现自己的代码和百度云的连接,总有一个东西作为桥梁,百度提供了一个bucket(木桶)其带有两个密码:AK和SK,
你可以在代码中加入对应的bucket(附带Ak和Sk)实现与百度云存储的连接,实现上传和下载的功能。
下面说一下如何在存储里创建bucket,先看一下官方文档的步骤如下连接:
但你会发现无法创建bucket!!!!!!!!!!!!!!
其实百度云官方给的步骤是对的。
但------------百度云最坑的地方:
一定要在旧版控制台界面创建bucket!因为新版百度云平台没有这个功能,旧版的所有功能还没有完全搬迁到新界面上!!!!!!!!!
打开旧版控制中心链接:
一定要在此按照官方步骤创建bucket!
2.获取java-sdk的jar包,导入eclipse
跨过上一步百度云比较坑的坎,接下来相信都是很简单的了。
点击获取Java-sdk-jar包,获取下载成功后,导入eclipse工程即可,这里不再详细展开。
3.编写代码,实现自己写的Java代码和百度云存储的bucket的连接,上传下载文件。
java代码:参考勤奋的asialee的博客
相关文章推荐
- 时代互联 域名注册查询接口api的使用 (w3Sockets)(这篇文章,关于是放到C:\WINDOWS或者是C:\WINDOWS\system32要亲自试试,附带在 server 2008 R2下无法运行的解决方法)
- 完美解决无法使用ctrl+shift以及ctrl+space切换输入法的问题
- 使用Dynamips模拟交换机无法创建VLAN解决办法
- 使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题
- BAPI调用 - 批量创建物料BAPI:BAPI_MATERIAL_SAVEDATA 毛重无法导入以及指定单位报错等问题解决
- 使用python libvirt 接口函数创建 dir 类型存储池、存储卷及删除 存储卷、存储池
- [VB.NET]在VB.NET 2005中,如何创建Oracle的存储过程,以及如何来使用存储过程语句?
- 解决linux下oracle乱码以及无法使用上下键的方法
- 使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题
- 解决使用VS2010时,引用外部dll时提示,无法嵌入互操作类型“……”,请改用适用的接口的解决方法
- 使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题 (转)
- 完美解决无法使用ctrl+shift以及ctrl+space切换输入法的问题
- MySQL 5.1 无法创建、修改存储过程的解决(简单问题)
- 笔记本摄像头正常却无法使用,提示未能创建视频预览,谁有解决办法?
- Ubuntu 配置VNC以及使用VNC连接时,无法显示系统菜单栏,解决方法
- 使用ArcGIS GP服务遇到的问题,原因以及解决方法 - 客户端API开发(Javascript/Flex/Silverlig 转载
- HessianCSharp 1.3.3版本前使用泛型以及接口interface继承问题解决方案!!(实例代码)
- NetBeans IDE 6.1 无法使用上下文帮助API的解决办法~
- Jetty 使用 以及HTML 和Js代码无法保存问题解决
- (已解决)使用pl/sql的视图模式来创建sqlserver的dblink提示无法连接到“sa”