近期推出了开发者云服务,我对比了下各产品同其他云厂商之间的价格,开发者云的价格确实是相当香了,就拿我今天要讲的对象存储的价格为例,列举下各厂商1GB/月价格。
阿里云 | 腾讯云 | 七牛云 | 百度云 | 华为云 | 京东云 | 开发者云 |
0.12元 | 0.098元 | 0.099元 | 0.128元 | 0.099元 | 0.128元 | 0.051元 |
备注:各云厂商价格取自其官网标准存储价格,开发者云并未提供存储分级。即便拿其他厂商的低频存储单价算,开发者云存储的价格还是有优势的。
当然对象存储使用过程中还会在其他维度产生费用的,比如请求数、下行流量费,这些开发者云的价格也是有优势的。所以我果断入一个,来做一些服务器之间的文件中转、下载的功能,当然也可以当成是一个网盘(不限速的那种哦),实测下来上传下载都是可以跑满我家带宽的,下载速度能到20+MB/s。
官网目前提供的对象存储文档比较简单,上传下载文件还需要自己用curl拼http请求,比较麻烦,所以我花半天时间写了个可以直接用的脚本,可以直接使用。因为是存bash实现,不需要额安装其他的依赖,拷贝到终端就可以直接使用了,使用方式也在代码中有提供,拷贝到终端里就可以直接用了,使用前记得配置下你自己的bucket和token。
#!/bin/bash
# 请在这里填写你的token,token获取可以参考文档:
TOKEN="example-token"
# 请在这里填写你的bucket:
BUCKET="example-bucket"
VERSION="0.0.1"
getUrl() {
opUrl=`curl --location --request POST "${TOKEN}" \
--header 'Content-Type: application/json' \
--data-raw '{
"bucketName":"'$BUCKET'",
"objectName":"'$1'",
"action":"'$2'"
}' 2>&1 | grep -Eo "https[^\"]+"`
}
function upload() {
getUrl $3 put
# echo $*
# --data-binary @$2
curl --location --request PUT $opUrl \
-T $2 \
--progress-bar | cat
echo "upload success!"
}
function delete() {
getUrl $2 delete
curl --location --request DELETE $opUrl
echo "delete success!"
}
function download() {
getUrl $2 get
curl --location --request GET $opUrl -o $3 --progress-bar | cat
echo "download success!"
}
function help() {
echo -e '\033[31m
__ ____ __________
______________/ /___ / __ \/ ___/ ___/
/ ___/ ___/ __ / __ \/ / / /\__ \\__ \
/ /__(__ ) /_/ / / / / /_/ /___/ /__/ /
\___/____/\__,_/_/ /_/\____//____/____/
\033[0m'
echo "纯bash实现的CSDN云存储命令行工具"
echo "作者:xindoo 版本号:${VERSION}"
echo ""
echo "支持upload download delete version指令"
echo ""
echo "使用方式 csdnoss [具体指令和参数]"
echo ' upload ${soureFile} ${targetPath} 将本地文件生成至云端指定路径'
echo " 例:csdnoss upload example.txt test/example.txt #将本地的example.txt文件上传至云端并保存在test/example.txt路径下"
echo ' download ${targetPath} ${saveFile} 云端文件保存至本地'
echo " 例:csdnoss download test/example.txt example.txt #将云端test/example.txt文件下载并保存为example.txt"
echo ' delete ${targetPath} 将本地文件生成至云端指定路径'
echo " 例:csdnoss delete test/example.txt #删除云端test/example.txt文件"
echo " version 显示版本号,无参数"
}
case $1 in
'upload')
upload $*
exit;;
'download')
download $*
exit;;
'delete')
delete $*
exit;;
'version')
echo "author: xindoo"
echo "version: ${VERSION}"
exit;;
*)
help
exit;;
esac
另外提供一个代码片段链接,后续脚本会在这里更新 https://gitcode.net/-/snippets/1854
标签:__,存储,--,echo,开发者,命令行,txt,example,delete From: https://blog.51cto.com/xindoo/5947201