获取金山区云存储容量值的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取金山区云存储容量值的方法相关的知识,希望对你有一定的参考价值。

前一篇文章写的是如何获取阿里云的云存储容量方法,现在说一下金山云。


金山云的云存储是不支持sdk的,他的sdk支持面只有以下这么几项:

技术分享

既然sdk这条路不好使,我们就换一个道,使用金山云提供的ks3util工具。


首先先查看机器是否有java,使用命令#java -version,得到返回值如下:

技术分享


然后下载ks3util工具,使用命令#wget https://ks3-cn-beijing.ksyun.com/ks3-tools/ks3util-1.1.1-dist.zip  ,然后解压这个文件,进入这个ks3util-1.1.1-dist之后会看到四个文件,分别是:bin、lib、README.html和sample.conf。


首先我们先打开sample.conf,查看这个配置文件内容:

ks3.ak={账户AK} #必填项
ks3.sk={账户SK} #必填项
ks3.endpoint={bucket所在region的endpoint} #必填项
ks3.protocol={协议:http|https} #可选,如果不选就自动认为是http

#http.conn.timeout={http连接超时,一般不需要更改} #可选
#http.so.timeout={http通讯超时,一般不需要更改} #可选
#http.max.connections{http连接数,默认值:100} #可选

#async.queuesize={批量处理时的队列长度,默认:200,该值越大内存使用率越大} #可选
#async.max.threads={批量处理时最大并发数,默认:100} #可选
#async.core.threads={批量处理时最小并发数,默认:CPU核数} #可选

#ks3.movedest.ak={multi-move操作时的目标账号AK} #可选
#ks3.movedest.sk={multi-move操作时的目标账号SK} #可选
#ks3.movedest.endpoint={multi-move操作时的目标Bucket所在的endpoint} #可选


只有前三项是必须填写的,其他项是针对特殊需求填写。按照实际情况来填写sample.conf,这里我们为了安全,在ks3.protocol里先选择https协议,如图:

技术分享


保存退出之后,在bin文件夹里#chmod 755 ks3util


现在假设我们要获取js-func-test-pubilc这个bucket的大小,在网页控制台上看它的大小是1.94G。

技术分享


于是我们就在命令行里输入#./ks3util du -b js-func-test-pubilc -c /root/ks3util-1.1.1/sample.conf,-b后面写的是bucket名称,-c后面写的是配置文件路径。


得到的效果如下图:

技术分享

获得了1.94GB!


如果你觉得http方式很不好,非要使用https的话,那么就在配置文件的ks3.protocol的字段写成https,但是要注意,这样改完,很有可能再获取容量值的时候会失败,显示“Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure”这个错误,这是因为Jdk8 jce安全机制导致访问https会报错。


这个时候去http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html 下载UnlimitedJCEPolicyJDK7.zip,然后将这个文件解压缩,将里面的两个jar包去覆盖jdk安装目录下的jre\lib\security\下同名的jar包就能解决。


如果你又觉得每次在命令行里面加入“-c 配置文件地址”很讨厌,而且这个配置文件又包含了很重要的ak和sk,那么可以把这个配置文件放到/root里然后改名叫.ks3utilconfig,这样每次在命令行里输入就不用再带后面的文件路径了。


最后再说一句,这个方法虽然简单,但是获取值的速度很慢,上面那个例子里获取不到2G的时间大约是4600毫秒,如果获取大约10TB的容量值,估计要跑大约5~6个小时。比如我这个跑了6个小时的血淋淋例子:

技术分享


技术分享




最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!

技术分享



本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1968857

以上是关于获取金山区云存储容量值的方法的主要内容,如果未能解决你的问题,请参考以下文章

金山云团队分享 | 5000字读懂Presto如何与Alluxio搭配

如何为每个片段保存一个变量值以重用它? [关闭]

iPhone 电池容量值 (mAH)

金山云-面试题

金山云-面试题

ORACLE获取SQL绑定变量值的方法总结