有时候我们需要把云存储的文件进行压缩,或者把上传的压缩包解压缩。那么这在又拍云上可以调用其云存储api 来实现,具体如何实现,可以参考文档
本节,我将使用又拍云的 Python sdk 带你使用压缩和解压缩
压缩和解压缩
1.按照sdk,请通读一遍GitHub主页的说明https://github.com/upyun/python-sdk
其实,不管使用任何产品,不论是又拍云还是阿里云或者其他厂商的,看文档是最佳的选择,当你刚接触他们的产品时,可以自己先看一遍对应的文档怎么调用方法,怎么计算签名等等。自己先看一遍,对某个参数不懂再问技术。我特别讨厌那些伸手党,发了文档都不看,还要你手把手奉上demo,也是够了,你工资咋不让我给你领?
2.代码
#!/usr/bin/env python
#-*-coding:utf-8-*-
import upyun
up = upyun.UpYun('servername', 'username', 'password', timeout=30, endpoint=upyun.ED_AUTO)
notify_url = 'http://res.v5linux.com/res.php'
# 压缩部分
def compress():
compress_tasks = [
{
"sources": ["/a/1.jpg!awen)","/b/1.jpg!awen)"],
"save_as": "/CCC/1.zip",
"home_dir": "a/"
}
]
print up.put_tasks(compress_tasks, notify_url, 'compress')
#解压缩部分
def depress():
depress_tasks = [
{
"sources": "/CCC/t.zip",
"save_as": "CCC/t/",
},
]
print up.put_tasks(depress_tasks, notify_url, 'depress')
compress()
比如上面调用了compress 压缩,会打印taskid
[u'3ea50b3a0da720383c7a786f00dbd085']
然后 notify_url 是定义了回调地址,当请求处理完毕,会向你的接口发送回调信息
注意: 回调地址必须是公网能访问。