使用又拍云的压缩和解压缩

有时候我们需要把云存储的文件进行压缩,或者把上传的压缩包解压缩。那么这在又拍云上可以调用其云存储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 是定义了回调地址,当请求处理完毕,会向你的接口发送回调信息

注意: 回调地址必须是公网能访问。