使用对象是百度提供的云服务,可以从http://developer.baidu.com/上查看开发者资料。
开发者帐号申请之后会得到一对密钥,分别是access key 和 security key。前一个对应公钥可以分发给其他人,后一个是私钥需要自己保存好。必须使用这对密钥,才能用API来访问服务器上的云内容。
见上图,这对API密钥在开发者中心网页的“服务管理”->“我的密钥"里面可以查看。
因为只是初步尝试使用,所以实际用的是百度云提供Shell-Tool。(详细见http://developer.baidu.com/wiki/index.php?title=docs/cplat/stor/sdk)
我自己用的是Ubuntu 12.04.3LTS系统,所以基本可以拿来就用(官方介绍是Windows里在cygwin环境也可以用,这个我自己没试过)。
首先用上面提的Access key和Security key的具体字串,填写到Shell-Tool包里的bsconf文件中
类似这样的格式

#!/bin/bash
ak=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sk=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
上面xxxx代表填写的是access key,yyyy是security key。
当然直接用还是会出点问题,仔细看了看下载的包里提供的pdf文档,原来包里面bsutil.sh和Ubuntu系统默认的dashshell有一些语法区别。需要把包里提供的 *.sh文件的第一行替换成"#!/usr/bin/bash"。
实际从百度云的Bucket上传和提取文件还是出了问题。不知道什么原因,在下载包提供的pdf文档里介绍的是使用http://...格式的云资源地址,但是使用bsutil.sh按照
./bsutil.sh cp "local_file_path""http://bcs.duapp.com/bucket/object"
这种命令格式向云资源上传自己的文件,会一直报错误。(不知道是什么原因,或许以后哦再看看)
这问题折腾了大概1小时,逼的我还把Shell-Tool包里的文件一个个大概看了一遍。结果最后很搞笑,直接输入
./bsutil.sh
还好,看到了Shell文件里自带的命令帮助信息,原来和pdf里介绍的不一样,命令帮助信息里介绍的是
./bsutil.sh [-v] cp local_file bs://bucket/object
这种命令格式,使用了一下,果然能用了。不知道为什么pdf的内容和这个shell下帮助信息的内容不一样
总算一切OK!
PS.
Bucket是在百度云里创建的一个资源空间,可以简单看成一个文件夹,命名必须是在百度云上唯一的(也就是不可以和其他人的百度云资源空间重名)可以创建多个(有数目限制),可以设置自己每一个资源空间的访问权限。
Object是在百度云里创建到Bucket下面的内容实体,可以看成文件夹下面的文件,也可以创建很多个。