首页 > 其他分享 >开发者云对象存储命令行工具

开发者云对象存储命令行工具

时间:2022-12-16 13:01:52浏览次数:69  
标签:__ 存储 -- echo 开发者 命令行 txt example delete


近期推出了​​开发者云服务​​,我对比了下各产品同其他云厂商之间的价格,开发者云的价格确实是相当香了,就拿我今天要讲的​​对象存储​​的价格为例,列举下各厂商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

相关文章