CSDN近期推出了开发者云服务,我对比了下各产品同其他云厂商之间的价格,开发者云的价格确实是相当香了,就拿我今天要讲的对象存储的价格为例,列举下各厂商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 "https://dev-api.csdn.net/open/api/v1/oss/resource?token=${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